Code

PNG output for Cairo renderer
[inkscape.git] / src / desktop.cpp
index 04328e84d5c8a3426b6c5ee04f34a467d4e8567b..57d89c5bcb4a47550b502d78daa5d4e92a201369 100644 (file)
@@ -8,7 +8,9 @@
  *   MenTaLguY <mental@rydia.net>
  *   bulia byak <buliabyak@users.sf.net>
  *   Ralf Stephan <ralf@ark.in-berlin.de>
+ *   John Bintz <jcoswell@coswellproductions.org>
  *
+ * Copyright (C) 2006 John Bintz
  * Copyright (C) 2004 MenTaLguY
  * Copyright (C) 1999-2002 Lauris Kaplinski
  * Copyright (C) 2000-2001 Ximian, Inc.
@@ -295,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;
@@ -319,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);
 }
@@ -1028,6 +1035,17 @@ SPDesktop::updateNow()
   sp_canvas_update_now(canvas);
 }
 
+void
+SPDesktop::enableInteraction()
+{
+  _widget->enableInteraction();
+}
+
+void SPDesktop::disableInteraction()
+{
+  _widget->disableInteraction();
+}
+
 //----------------------------------------------------------------------
 // Callback implementations. The virtual ones are connected by the view.