index d31331a0de1dbee559034385379409f2a110e6cb..799bb2a245ba150705571f61d782dc1694147a1e 100644 (file)
g_signal_connect(G_OBJECT(INKSCAPE), "activate_desktop",
G_CALLBACK(&FilterModifier::on_activate_desktop), this);
+ g_signal_connect(G_OBJECT(INKSCAPE), "deactivate_desktop",
+ G_CALLBACK(&FilterModifier::on_deactivate_desktop), this);
on_activate_desktop(INKSCAPE, d.getDesktop(), this);
update_filters();
@@ -1184,6 +1186,13 @@ void FilterEffectsDialog::FilterModifier::on_activate_desktop(Application*, SPDe
me->update_filters();
}
+void FilterEffectsDialog::FilterModifier::on_deactivate_desktop(Application*, SPDesktop* desktop, FilterModifier* me)
+{
+ me->_doc_replaced.disconnect();
+ me->_resource_changed.disconnect();
+ me->_dialog.setDesktop(NULL);
+}
+
// When the selection changes, show the active filter(s) in the dialog
void FilterEffectsDialog::FilterModifier::on_inkscape_change_selection(Application */*inkscape*/,