[Evolution-hackers] Fix for #331743 - crash on first start



Hi,

Please look at http://bugzilla.gnome.org/show_bug.cgi?id=331743

Evolution 2.7 crashes on startup if you run it within a clean user
account.  This happens because EMap (the map widget for the timezone
configuration dialog) uses an incorrect signal marshaller.

The attached patch fixes this.  Is it OK to commit?

  Federico
2006-06-07  Federico Mena Quintero  <federico novell com>

	* e-map.c (e_map_class_init): Don't use gtk_signal_new() for the
	set_scroll_adjustments signal, and use the correct marshaler.
	Fixes bug #331743.

Index: widgets/misc/e-map.c
===================================================================
RCS file: /cvs/gnome/evolution/widgets/misc/e-map.c,v
retrieving revision 1.9
diff -u -p -r1.9 e-map.c
--- widgets/misc/e-map.c	30 Jan 2006 12:28:04 -0000	1.9
+++ widgets/misc/e-map.c	7 Jun 2006 15:21:26 -0000
@@ -30,6 +30,7 @@
 #include <libgnome/gnome-i18n.h>
 
 #include "e-util/e-util-private.h"
+#include "e-util/e-util.h"
 
 #include "e-map.h"
 
@@ -177,14 +178,15 @@ e_map_class_init (EMapClass *class)
 	object_class->destroy = e_map_destroy;
 
 	class->set_scroll_adjustments = e_map_set_scroll_adjustments;
-	widget_class->set_scroll_adjustments_signal = gtk_signal_new ("set_scroll_adjustments",
-								      GTK_RUN_LAST,
-								      GTK_CLASS_TYPE (object_class),
-								      G_STRUCT_OFFSET (EMapClass, set_scroll_adjustments),
-								      gtk_marshal_NONE__POINTER_POINTER,
-								      GTK_TYPE_NONE, 2,
-								      GTK_TYPE_ADJUSTMENT,
-								      GTK_TYPE_ADJUSTMENT);
+	widget_class->set_scroll_adjustments_signal = g_signal_new ("set_scroll_adjustments",
+								    G_OBJECT_CLASS_TYPE (gobject_class),
+								    G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+								    G_STRUCT_OFFSET (EMapClass, set_scroll_adjustments),
+								    NULL, NULL,
+								    e_util_marshal_NONE__OBJECT_OBJECT,
+								    G_TYPE_NONE, 2,
+								    GTK_TYPE_ADJUSTMENT,
+								    GTK_TYPE_ADJUSTMENT);
 
 	widget_class->unmap = e_map_unmap;
 	widget_class->realize = e_map_realize;


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