diff options
author | Milan Crha <mcrha@redhat.com> | 2008-11-27 20:59:25 +0800 |
---|---|---|
committer | Milan Crha <mcrha@src.gnome.org> | 2008-11-27 20:59:25 +0800 |
commit | a75b727efee43acf8e4975b264a85ea743529526 (patch) | |
tree | aea1de5f2cd180c9ba2980727a48dea331a10d2d /e-util | |
parent | b648eeb99207af43e72870b9a72b45d2a37528e3 (diff) | |
download | gsoc2013-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/ChangeLog | 7 | ||||
-rw-r--r-- | e-util/e-config.c | 4 |
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); } |