aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets/e-addressbook-view.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2003-07-18 00:58:02 +0800
committerDan Winship <danw@src.gnome.org>2003-07-18 00:58:02 +0800
commit9bcb908ca516ac24874af94ab2a5acc9af437170 (patch)
treed682c734b40552631413af10ccaefdcf85bc8750 /addressbook/gui/widgets/e-addressbook-view.c
parent732db2157efe52e897004904abf94585eab766b1 (diff)
downloadgsoc2013-evolution-9bcb908ca516ac24874af94ab2a5acc9af437170.tar
gsoc2013-evolution-9bcb908ca516ac24874af94ab2a5acc9af437170.tar.gz
gsoc2013-evolution-9bcb908ca516ac24874af94ab2a5acc9af437170.tar.bz2
gsoc2013-evolution-9bcb908ca516ac24874af94ab2a5acc9af437170.tar.lz
gsoc2013-evolution-9bcb908ca516ac24874af94ab2a5acc9af437170.tar.xz
gsoc2013-evolution-9bcb908ca516ac24874af94ab2a5acc9af437170.tar.zst
gsoc2013-evolution-9bcb908ca516ac24874af94ab2a5acc9af437170.zip
disconnect from model signals to prevent a race condition at shutdown
* gui/widgets/e-addressbook-view.c (e_addressbook_view_dispose): disconnect from model signals to prevent a race condition at shutdown where the view gets destroyed and then the model notices the backend dying before being destroyed itself. * gui/widgets/e-addressbook-reflow-adapter.c (addressbook_finalize): add, to free priv. (e_addressbook_reflow_adapter_class_init): set it up * gui/component/e-address-popup.c (e_address_popup_set_free_form): Don't leak strings * gui/component/addressbook-storage.c (load_source_data): don't leak xml data. * gui/component/addressbook-component.c (new_item_cb): don't leak the new card. svn path=/trunk/; revision=21858
Diffstat (limited to 'addressbook/gui/widgets/e-addressbook-view.c')
-rw-r--r--addressbook/gui/widgets/e-addressbook-view.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/addressbook/gui/widgets/e-addressbook-view.c b/addressbook/gui/widgets/e-addressbook-view.c
index 35decd7ee2..08710c71b5 100644
--- a/addressbook/gui/widgets/e-addressbook-view.c
+++ b/addressbook/gui/widgets/e-addressbook-view.c
@@ -326,6 +326,10 @@ e_addressbook_view_dispose (GObject *object)
EAddressbookView *eav = E_ADDRESSBOOK_VIEW(object);
if (eav->model) {
+ g_signal_handlers_disconnect_matched (eav->model,
+ G_SIGNAL_MATCH_DATA,
+ 0, 0, NULL, NULL,
+ object);
g_object_unref (eav->model);
eav->model = NULL;
}