Code

Merge from trunk
[inkscape.git] / src / ui / widget / object-composite-settings.cpp
index f2fa9bcd3c2bae4b9b04021cbeb5ea7f20b09f88..9e39af75ff87bcaeaa1006d3e210e79613ea5bea 100644 (file)
@@ -33,7 +33,7 @@ namespace Inkscape {
 namespace UI {
 namespace Widget {
 
-void ObjectCompositeSettings::_on_desktop_switch(
+void ObjectCompositeSettings::_on_desktop_activate(
     Inkscape::Application */*application*/,
     SPDesktop *desktop,
     ObjectCompositeSettings *w
@@ -43,6 +43,16 @@ void ObjectCompositeSettings::_on_desktop_switch(
     }
 }
 
+void ObjectCompositeSettings::_on_desktop_deactivate(
+    Inkscape::Application */*application*/,
+    SPDesktop *desktop,
+    ObjectCompositeSettings *w
+) {
+    if (w->_subject) {
+        w->_subject->setDesktop(NULL);
+    }
+}
+
 ObjectCompositeSettings::ObjectCompositeSettings(unsigned int verb_code, char const *history_prefix, int flags)
 : _verb_code(verb_code),
   _blur_tag(Glib::ustring(history_prefix) + ":blur"),
@@ -77,7 +87,8 @@ ObjectCompositeSettings::ObjectCompositeSettings(unsigned int verb_code, char co
 
     show_all_children();
 
-    _desktop_activated = g_signal_connect ( G_OBJECT (INKSCAPE), "activate_desktop", G_CALLBACK (&ObjectCompositeSettings::_on_desktop_switch), this );
+    _desktop_activated = g_signal_connect ( G_OBJECT (INKSCAPE), "activate_desktop", G_CALLBACK (&ObjectCompositeSettings::_on_desktop_activate), this );
+    _desktop_activated = g_signal_connect ( G_OBJECT (INKSCAPE), "deactivate_desktop", G_CALLBACK (&ObjectCompositeSettings::_on_desktop_deactivate), this );
 }
 
 ObjectCompositeSettings::~ObjectCompositeSettings() {