diff options
| author | buliabyak <> | 2013-10-03 23:48:45 +0000 |
|---|---|---|
| committer | buliabyak <> | 2013-10-03 23:48:45 +0000 |
| commit | 8e050f3d39cd87caabba365f55b43ede5947ee4e (patch) | |
| tree | 610931c5717d546868b9ca883db4bd5383498848 /src/file.cpp | |
| parent | Fix segment welding in the node tool hanging when a two-point segment (diff) | |
| download | inkscape-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.cpp | 5 |
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; |
