[evolution-patches] evolution settings version mismatch crash




Hi guys,

I just noticed this issue trying to open the settings dialogue when using the gnome 2.0.0 codebase.

If you've had a previous install of the evolution 1.5 series, then the settings bonobo query grabs both versions configuration pages, and in some cases this hits assertions in the code (they should probably really be noops).

This fixes the versioning properly so it only instantiates the correct ones, i think when it was originally written we didn't have versioned interfaces.

(i'm not sure if the r-t needs to approve this since its only a string change, but i guess its a structured string anyway).

Bug is http://bugzilla.ximian.com/show_bug.cgi?id=61285 although it isn't really relevent, just has the same symptoms.

Michael
--
Michael Zucchi <notzed ximian com>
"born to die, live to work, it's all downhill from here"
Novell's Evolution and Free Software Developer
Index: shell/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/shell/ChangeLog,v
retrieving revision 1.1468
diff -u -3 -r1.1468 ChangeLog
--- shell/ChangeLog	26 Aug 2004 14:33:24 -0000	1.1468
+++ shell/ChangeLog	3 Sep 2004 02:50:45 -0000
@@ -1,3 +1,11 @@
+2004-09-03  Not Zed  <NotZed Ximian com>
+
+	** See bug #61285.
+
+	* e-shell-settings-dialog.c (load_pages): use a better query to
+	get the configuration pages, the old one didn't include version
+	information properly.
+
 2004-08-26  Rodney Dawes  <dobey novell com>
 
 	* apps_evolution_shell.schemas.in.in: Don't translate the default
Index: shell/e-shell-settings-dialog.c
===================================================================
RCS file: /cvs/gnome/evolution/shell/e-shell-settings-dialog.c,v
retrieving revision 1.33
diff -u -3 -r1.33 e-shell-settings-dialog.c
--- shell/e-shell-settings-dialog.c	30 Apr 2004 06:22:04 -0000	1.33
+++ shell/e-shell-settings-dialog.c	3 Sep 2004 02:50:46 -0000
@@ -165,7 +165,7 @@
 	
 	CORBA_exception_init (&ev);
 
-	control_list = bonobo_activation_query ("defined(evolution2:config_item:title)", NULL, &ev);
+	control_list = bonobo_activation_query ("repo_ids.has('IDL:GNOME/Evolution/ConfigControl:" BASE_VERSION "')", NULL, &ev);
 	if (ev._major != CORBA_NO_EXCEPTION || control_list == NULL) {
 		g_warning ("Cannot load configuration pages -- %s", BONOBO_EX_REPOID (&ev));
 		CORBA_exception_free (&ev);


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