summaryrefslogtreecommitdiffstats
path: root/src/file.cpp
diff options
context:
space:
mode:
authorbuliabyak <>2013-10-03 23:48:45 +0000
committerbuliabyak <>2013-10-03 23:48:45 +0000
commit8e050f3d39cd87caabba365f55b43ede5947ee4e (patch)
tree610931c5717d546868b9ca883db4bd5383498848 /src/file.cpp
parentFix segment welding in the node tool hanging when a two-point segment (diff)
downloadinkscape-8e050f3d39cd87caabba365f55b43ede5947ee4e.tar.gz
inkscape-8e050f3d39cd87caabba365f55b43ede5947ee4e.zip
properly protect the undo stack from deleting templates and setting viewbox
(bzr r12651)
Diffstat (limited to '')
-rw-r--r--src/file.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/file.cpp b/src/file.cpp
index e0675e8cf..8a7b177c0 100644
--- a/src/file.cpp
+++ b/src/file.cpp
@@ -135,14 +135,17 @@ SPDesktop *sp_file_new(const std::string &templ)
Inkscape::XML::Node *myRoot = doc->getReprRoot();
Inkscape::XML::Node *nodeToRemove = sp_repr_lookup_name(myRoot, "inkscape:_templateinfo");
if (nodeToRemove != NULL){
+ DocumentUndo::setUndoSensitive(doc, false);
sp_repr_unparent(nodeToRemove);
delete nodeToRemove;
- DocumentUndo::clearUndo(doc);
+ DocumentUndo::setUndoSensitive(doc, true);
}
// Set viewBox if it doesn't exist
if (!doc->getRoot()->viewBox_set) {
+ DocumentUndo::setUndoSensitive(doc, false);
doc->setViewBox(Geom::Rect::from_xywh(0, 0, doc->getWidth().quantity, doc->getHeight().quantity));
+ DocumentUndo::setUndoSensitive(doc, true);
}
SPDesktop *desktop = SP_ACTIVE_DESKTOP;