summaryrefslogtreecommitdiffstats
path: root/src/desktop.cpp
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2006-08-18 06:14:00 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2006-08-18 06:14:00 +0000
commit121d6254c6890142e40865bf46c79acb213c4ed2 (patch)
treefcdc3f24e91942e343d9a3d9269a7a601837a214 /src/desktop.cpp
parentdelete completion object on destroying, prevents a crash on exit (diff)
downloadinkscape-121d6254c6890142e40865bf46c79acb213c4ed2.tar.gz
inkscape-121d6254c6890142e40865bf46c79acb213c4ed2.zip
disconnect signals on destroying
(bzr r1615)
Diffstat (limited to 'src/desktop.cpp')
-rw-r--r--src/desktop.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/desktop.cpp b/src/desktop.cpp
index 51580249e..57d89c5bc 100644
--- a/src/desktop.cpp
+++ b/src/desktop.cpp
@@ -297,6 +297,13 @@ void SPDesktop::destroy()
_sel_modified_connection.disconnect();
_sel_changed_connection.disconnect();
_modified_connection.disconnect();
+ _commit_connection.disconnect();
+ _reconstruction_start_connection.disconnect();
+ _reconstruction_finish_connection.disconnect();
+
+ g_signal_handlers_disconnect_by_func(G_OBJECT (acetate), (gpointer) G_CALLBACK(sp_desktop_root_handler), this);
+ g_signal_handlers_disconnect_by_func(G_OBJECT (main), (gpointer) G_CALLBACK(sp_desktop_root_handler), this);
+ g_signal_handlers_disconnect_by_func(G_OBJECT (drawing), (gpointer) G_CALLBACK(_arena_handler), this);
while (event_context) {
SPEventContext *ec = event_context;
@@ -321,8 +328,6 @@ void SPDesktop::destroy()
delete _guides_message_context;
_guides_message_context = NULL;
- _modified_connection.disconnect();
-
g_list_free (zooms_past);
g_list_free (zooms_future);
}