aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-config.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2008-11-27 20:59:25 +0800
committerMilan Crha <mcrha@src.gnome.org>2008-11-27 20:59:25 +0800
commita75b727efee43acf8e4975b264a85ea743529526 (patch)
treeaea1de5f2cd180c9ba2980727a48dea331a10d2d /e-util/e-config.c
parentb648eeb99207af43e72870b9a72b45d2a37528e3 (diff)
downloadgsoc2013-evolution-a75b727efee43acf8e4975b264a85ea743529526.tar.gz
gsoc2013-evolution-a75b727efee43acf8e4975b264a85ea743529526.tar.zst
gsoc2013-evolution-a75b727efee43acf8e4975b264a85ea743529526.zip
** Fix for bug #332729
2008-11-27 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. svn path=/trunk/; revision=36816
Diffstat (limited to 'e-util/e-config.c')
-rw-r--r--e-util/e-config.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/e-util/e-config.c b/e-util/e-config.c
index d320bcd7af..03a553feb2 100644
--- a/e-util/e-config.c
+++ b/e-util/e-config.c
@@ -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);
}