summaryrefslogtreecommitdiffstats
path: root/src/shape-editor.cpp
diff options
context:
space:
mode:
authorSebastian Wüst <sebi@timewaster.de>2013-10-20 15:32:08 +0000
committerSebastian Wüst <sebi@timewaster.de>2013-10-20 15:32:08 +0000
commit82908f949129e1fcbf62002799ee7b1b77986eed (patch)
treec02098dd7720cdf424f2793ecd3ddac2ea86b969 /src/shape-editor.cpp
parentchanged text (diff)
parentFix build errors with clang 3.3 and c++11 enabled. (diff)
downloadinkscape-82908f949129e1fcbf62002799ee7b1b77986eed.tar.gz
inkscape-82908f949129e1fcbf62002799ee7b1b77986eed.zip
merge from trunk
(bzr r12417.1.24)
Diffstat (limited to 'src/shape-editor.cpp')
-rw-r--r--src/shape-editor.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/shape-editor.cpp b/src/shape-editor.cpp
index f2339770c..59d43f24c 100644
--- a/src/shape-editor.cpp
+++ b/src/shape-editor.cpp
@@ -35,6 +35,8 @@
using Inkscape::createKnotHolder;
+bool ShapeEditor::_blockSetItem = false;
+
ShapeEditor::ShapeEditor(SPDesktop *dt) {
this->desktop = dt;
this->knotholder = NULL;
@@ -46,15 +48,13 @@ ShapeEditor::~ShapeEditor() {
}
void ShapeEditor::unset_item(SubType type, bool keep_knotholder) {
- Inkscape::XML::Node *old_repr = NULL;
-
switch (type) {
case SH_NODEPATH:
// defunct
break;
case SH_KNOTHOLDER:
if (this->knotholder) {
- old_repr = this->knotholder->repr;
+ Inkscape::XML::Node *old_repr = this->knotholder->repr;
if (old_repr && old_repr == knotholder_listener_attached_for) {
sp_repr_remove_listener_by_data(old_repr, this);
Inkscape::GC::release(old_repr);
@@ -171,6 +171,10 @@ static Inkscape::XML::NodeEventVector shapeeditor_repr_events = {
void ShapeEditor::set_item(SPItem *item, SubType type, bool keep_knotholder) {
+ if (_blockSetItem) {
+ return;
+ }
+
// this happens (and should only happen) when for an LPEItem having both knotholder and
// nodepath the knotholder is adapted; in this case we don't want to delete the knotholder
// since this freezes the handles