summaryrefslogtreecommitdiffstats
path: root/src/ui/widget
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2008-10-31 15:06:16 +0000
committerTed Gould <ted@canonical.com>2008-10-31 15:06:16 +0000
commit7e67d66e7817a9321c4e94b2184a9226b20b396a (patch)
treea857d7aae5f544c4243a331e4eb4e4629bbc27a9 /src/ui/widget
parentMerge from trunk (diff)
downloadinkscape-7e67d66e7817a9321c4e94b2184a9226b20b396a.tar.gz
inkscape-7e67d66e7817a9321c4e94b2184a9226b20b396a.zip
Merge from trunk
(bzr r6887)
Diffstat (limited to 'src/ui/widget')
-rw-r--r--src/ui/widget/object-composite-settings.cpp15
-rw-r--r--src/ui/widget/object-composite-settings.h3
2 files changed, 15 insertions, 3 deletions
diff --git a/src/ui/widget/object-composite-settings.cpp b/src/ui/widget/object-composite-settings.cpp
index f2fa9bcd3..9e39af75f 100644
--- a/src/ui/widget/object-composite-settings.cpp
+++ b/src/ui/widget/object-composite-settings.cpp
@@ -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() {
diff --git a/src/ui/widget/object-composite-settings.h b/src/ui/widget/object-composite-settings.h
index 725a8a42b..f778c3ac0 100644
--- a/src/ui/widget/object-composite-settings.h
+++ b/src/ui/widget/object-composite-settings.h
@@ -55,7 +55,8 @@ private:
Gtk::VBox _fe_vbox;
Gtk::Alignment _fe_alignment;
- static void _on_desktop_switch(Inkscape::Application *application, SPDesktop *desktop, ObjectCompositeSettings *w);
+ static void _on_desktop_activate(Inkscape::Application *application, SPDesktop *desktop, ObjectCompositeSettings *w);
+ static void _on_desktop_deactivate(Inkscape::Application *application, SPDesktop *desktop, ObjectCompositeSettings *w);
void _subjectChanged();
sigc::connection _subject_changed;