summaryrefslogtreecommitdiffstats
path: root/src/desktop.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/desktop.cpp')
-rw-r--r--src/desktop.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/desktop.cpp b/src/desktop.cpp
index 8cd63a68c..d2547f5a6 100644
--- a/src/desktop.cpp
+++ b/src/desktop.cpp
@@ -85,6 +85,7 @@
#include "layer-manager.h"
#include "event-log.h"
#include "display/canvas-grid.h"
+#include "widgets/desktop-widget.h"
#include "display/sp-canvas.h"
@@ -501,6 +502,15 @@ SPDesktop::change_document (SPDocument *theDocument)
selection->clear();
setDocument (theDocument);
+
+ /* update the rulers, connect the desktop widget's signal to the new namedview etc.
+ (this can probably be done in a better way) */
+ Gtk::Window *parent = this->getToplevel();
+ g_assert(parent != NULL);
+ SPDesktopWidget *dtw = (SPDesktopWidget *) parent->get_data("desktopwidget");
+ if (dtw) dtw->desktop = this;
+ sp_desktop_widget_update_namedview(dtw);
+
_namedview_modified (namedview, SP_OBJECT_MODIFIED_FLAG, this);
_document_replaced_signal.emit (this, theDocument);
}