summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/document-properties.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/dialog/document-properties.cpp')
-rw-r--r--src/ui/dialog/document-properties.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp
index c837c7193..09e9173ed 100644
--- a/src/ui/dialog/document-properties.cpp
+++ b/src/ui/dialog/document-properties.cpp
@@ -112,6 +112,8 @@ DocumentProperties::init()
Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(SP_ACTIVE_DESKTOP));
repr->addListener (&_repr_events, this);
+ Inkscape::XML::Node *root = SP_OBJECT_REPR(sp_desktop_document(SP_ACTIVE_DESKTOP)->root);
+ root->addListener (&_repr_events, this);
_doc_replaced_connection = SP_ACTIVE_DESKTOP->connectDocumentReplaced (sigc::ptr_fun (on_doc_replaced));
@@ -129,6 +131,8 @@ DocumentProperties::~DocumentProperties()
{
Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(SP_ACTIVE_DESKTOP));
repr->removeListenerByData (this);
+ Inkscape::XML::Node *root = SP_OBJECT_REPR(sp_desktop_document(SP_ACTIVE_DESKTOP)->root);
+ root->removeListenerByData (this);
_doc_replaced_connection.disconnect();
}
@@ -466,6 +470,8 @@ on_activate_desktop (Inkscape::Application *, SPDesktop* dt, void*)
Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(SP_ACTIVE_DESKTOP));
repr->addListener (&_repr_events, _instance);
+ Inkscape::XML::Node *root = SP_OBJECT_REPR(sp_desktop_document(SP_ACTIVE_DESKTOP)->root);
+ root->addListener (&_repr_events, _instance);
_instance->_doc_replaced_connection = SP_ACTIVE_DESKTOP->connectDocumentReplaced (sigc::ptr_fun (on_doc_replaced));
_instance->update();
}
@@ -478,6 +484,8 @@ on_deactivate_desktop (Inkscape::Application *, SPDesktop* dt, void*)
Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(SP_ACTIVE_DESKTOP));
repr->removeListenerByData (_instance);
+ Inkscape::XML::Node *root = SP_OBJECT_REPR(sp_desktop_document(SP_ACTIVE_DESKTOP)->root);
+ root->removeListenerByData (_instance);
_instance->_doc_replaced_connection.disconnect();
}
@@ -489,6 +497,8 @@ on_doc_replaced (SPDesktop* dt, SPDocument* doc)
Inkscape::XML::Node *repr = SP_OBJECT_REPR(sp_desktop_namedview(dt));
repr->addListener (&_repr_events, _instance);
+ Inkscape::XML::Node *root = SP_OBJECT_REPR(doc->root);
+ root->addListener (&_repr_events, _instance);
_instance->update();
}