Index: e-util/ChangeLog
===================================================================
--- e-util/ChangeLog	(revision 36811)
+++ e-util/ChangeLog	(working copy)
@@ -1,3 +1,10 @@
+2008-11-26  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #332729
+
+	* e-config.c: (ep_finalise): Disconnect handlers on the widget before
+	freeing the structure it is using.
+
 2008-11-12  Milan Crha  <mcrha@redhat.com>
 
 	** Fix for bug #559810
Index: e-util/e-config.c
===================================================================
--- e-util/e-config.c	(revision 36811)
+++ e-util/e-config.c	(working copy)
@@ -122,6 +122,10 @@ ep_finalise(GObject *o)
 	}
 
 	while ( (wn = (struct _widget_node *)e_dlist_remhead(&p->widgets)) ) {
+		/* disconnect the gtk_widget_destroyed function from the widget */
+		if (wn->widget)
+			g_signal_handlers_disconnect_matched (wn->widget, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, &wn->widget);
+
 		g_free(wn);
 	}
 
