From a239540f0ae3f19e8af2d85acdf12ad40563087a Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Sat, 7 Apr 2012 16:24:51 +0200 Subject: remove no longer needed knotholderentity complication (bzr r11171) --- src/knotholder.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'src/knotholder.cpp') diff --git a/src/knotholder.cpp b/src/knotholder.cpp index 91013ad2e..513c02834 100644 --- a/src/knotholder.cpp +++ b/src/knotholder.cpp @@ -68,13 +68,7 @@ KnotHolder::~KnotHolder() { g_object_unref(G_OBJECT(item)); for(std::list::iterator i = entity.begin(); i != entity.end(); ++i) { KnotHolderEntity* e = (*i); - if (e->isDeletable()) { - delete (*i); - } else { - // we must not delete the entity (since it's attached to an LPE parameter), - // but the handle should be destroyed - g_object_unref(e->knot); - } + delete (*i); (*i) = NULL; } entity.clear(); // is this necessary? -- cgit v1.2.3 From 38876d0538b2fff87e8fd7b54ac3d77dbd779511 Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Sat, 7 Apr 2012 21:25:08 +0200 Subject: fix possible crasher in knot_clicked_handler (bzr r11174) --- src/knotholder.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'src/knotholder.cpp') diff --git a/src/knotholder.cpp b/src/knotholder.cpp index 513c02834..1bb09a05b 100644 --- a/src/knotholder.cpp +++ b/src/knotholder.cpp @@ -105,7 +105,8 @@ bool KnotHolder::knot_mouseover() void KnotHolder::knot_clicked_handler(SPKnot *knot, guint state) { - KnotHolder *knot_holder = this; + KnotHolder *knot_holder = this; + SPItem *saved_item = this->item; for(std::list::iterator i = knot_holder->entity.begin(); i != knot_holder->entity.end(); ++i) { KnotHolderEntity *e = *i; @@ -116,33 +117,33 @@ KnotHolder::knot_clicked_handler(SPKnot *knot, guint state) } } - if (SP_IS_SHAPE(item)) { - SP_SHAPE(item)->setShape(); + if (SP_IS_SHAPE(saved_item)) { + SP_SHAPE(saved_item)->setShape(); } knot_holder->update_knots(); unsigned int object_verb = SP_VERB_NONE; - if (SP_IS_RECT(item)) + if (SP_IS_RECT(saved_item)) object_verb = SP_VERB_CONTEXT_RECT; - else if (SP_IS_BOX3D(item)) + else if (SP_IS_BOX3D(saved_item)) object_verb = SP_VERB_CONTEXT_3DBOX; - else if (SP_IS_GENERICELLIPSE(item)) + else if (SP_IS_GENERICELLIPSE(saved_item)) object_verb = SP_VERB_CONTEXT_ARC; - else if (SP_IS_STAR(item)) + else if (SP_IS_STAR(saved_item)) object_verb = SP_VERB_CONTEXT_STAR; - else if (SP_IS_SPIRAL(item)) + else if (SP_IS_SPIRAL(saved_item)) object_verb = SP_VERB_CONTEXT_SPIRAL; - else if (SP_IS_OFFSET(item)) { - if (SP_OFFSET(item)->sourceHref) + else if (SP_IS_OFFSET(saved_item)) { + if (SP_OFFSET(saved_item)->sourceHref) object_verb = SP_VERB_SELECTION_LINKED_OFFSET; else object_verb = SP_VERB_SELECTION_DYNAMIC_OFFSET; } // for drag, this is done by ungrabbed_handler, but for click we must do it here - DocumentUndo::done(item->document, object_verb, + DocumentUndo::done(saved_item->document, object_verb, _("Change handle")); } -- cgit v1.2.3 From 0d8dc3dc049f24b9d95a3c54e666fc89dee2321c Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Mon, 9 Apr 2012 23:21:26 -0700 Subject: Additional cleanup. (bzr r11206) --- src/knotholder.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/knotholder.cpp') diff --git a/src/knotholder.cpp b/src/knotholder.cpp index 1bb09a05b..947f7c92a 100644 --- a/src/knotholder.cpp +++ b/src/knotholder.cpp @@ -66,8 +66,8 @@ KnotHolder::KnotHolder(SPDesktop *desktop, SPItem *item, SPKnotHolderReleasedFun KnotHolder::~KnotHolder() { g_object_unref(G_OBJECT(item)); - for(std::list::iterator i = entity.begin(); i != entity.end(); ++i) { - KnotHolderEntity* e = (*i); + for (std::list::iterator i = entity.begin(); i != entity.end(); ++i) + { delete (*i); (*i) = NULL; } -- cgit v1.2.3