[evolution] Bug 661542 - Weird "Cannot upgrade from version 0.xxxx" on first use



commit c2288452b3a7181057935fdb9f28c191f7a78658
Author: Vincent Untz <vuntz gnome org>
Date:   Wed Oct 12 09:31:17 2011 -0400

    Bug 661542 - Weird "Cannot upgrade from version 0.xxxx" on first use
    
    GConf's default value for the version key is an empty string, which
    causes "sscanf (string, "%d.%d.%d", major, minor, micro)" to fail and
    leaves the major/minor/micro variables uninitialized.
    
    Instead, initialize the up front before reading the GConf key.

 shell/e-shell-migrate.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)
---
diff --git a/shell/e-shell-migrate.c b/shell/e-shell-migrate.c
index 89f94b0..dd75a40 100644
--- a/shell/e-shell-migrate.c
+++ b/shell/e-shell-migrate.c
@@ -739,6 +739,10 @@ shell_migrate_get_version (EShell *shell,
 	const gchar *key;
 	gchar *string;
 
+	*major = 0;
+	*minor = 0;
+	*micro = 0;
+
 	key = GCONF_VERSION_KEY;
 	client = e_shell_get_gconf_client (shell);
 	string = gconf_client_get_string (client, key, NULL);
@@ -747,12 +751,6 @@ shell_migrate_get_version (EShell *shell,
 		/* Since 1.4.0 we've kept the version key in GConf. */
 		sscanf (string, "%d.%d.%d", major, minor, micro);
 		g_free (string);
-
-	} else {
-		/* Otherwise, assume it's a new installation. */
-		*major = 0;
-		*minor = 0;
-		*micro = 0;
 	}
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]