aboutsummaryrefslogtreecommitdiffstats
path: root/e-util
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
parentb648eeb99207af43e72870b9a72b45d2a37528e3 (diff)
downloadgsoc2013-evolution-a75b727efee43acf8e4975b264a85ea743529526.tar
gsoc2013-evolution-a75b727efee43acf8e4975b264a85ea743529526.tar.gz
gsoc2013-evolution-a75b727efee43acf8e4975b264a85ea743529526.tar.bz2
gsoc2013-evolution-a75b727efee43acf8e4975b264a85ea743529526.tar.lz
gsoc2013-evolution-a75b727efee43acf8e4975b264a85ea743529526.tar.xz
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')
-rw-r--r--e-util/ChangeLog7
-rw-r--r--e-util/e-config.c4
2 files changed, 11 insertions, 0 deletions
diff --git a/e-util/ChangeLog b/e-util/ChangeLog
index 461861d7c3..d9701d49b3 100644
--- a/e-util/ChangeLog
+++ b/e-util/ChangeLog
@@ -1,3 +1,10 @@
+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.
+
2008-11-12 Milan Crha <mcrha@redhat.com>
** Fix for bug #559810
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);
}