summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiederik van Lierop <mail@diedenrezi.nl>2009-04-07 20:43:59 +0000
committerdvlierop2 <dvlierop2@users.sourceforge.net>2009-04-07 20:43:59 +0000
commit3f0d1a9929099eff21b97fb1b6c80735c0001f1d (patch)
tree4d7f0530a47b4d223e073c4ec5e300f00f3e5025
parentSome filters and extensions updates (diff)
downloadinkscape-3f0d1a9929099eff21b97fb1b6c80735c0001f1d.tar.gz
inkscape-3f0d1a9929099eff21b97fb1b6c80735c0001f1d.zip
Fix bug #356743
(bzr r7662)
-rw-r--r--src/nodepath.cpp2
-rw-r--r--src/object-snapper.cpp7
2 files changed, 5 insertions, 4 deletions
diff --git a/src/nodepath.cpp b/src/nodepath.cpp
index b92a3bf85..ad230df75 100644
--- a/src/nodepath.cpp
+++ b/src/nodepath.cpp
@@ -1388,7 +1388,7 @@ static void sp_nodepath_selected_nodes_move(Inkscape::NodePath::Path *nodepath,
}
// Iterate through all selected nodes
- m.setup(nodepath->desktop, false, SP_PATH(nodepath->item), &unselected_nodes);
+ m.setup(nodepath->desktop, false, nodepath->item, &unselected_nodes);
for (GList *l = nodepath->selected; l != NULL; l = l->next) {
Inkscape::NodePath::Node *n = (Inkscape::NodePath::Node *) l->data;
if (!closest_only || n == closest_node) { //try to snap either all selected nodes or only the closest one
diff --git a/src/object-snapper.cpp b/src/object-snapper.cpp
index d47dc8647..778928ae7 100644
--- a/src/object-snapper.cpp
+++ b/src/object-snapper.cpp
@@ -616,9 +616,10 @@ void Inkscape::ObjectSnapper::freeSnap(SnappedConstraints &sc,
*/
SPPath *path = NULL;
if (it != NULL) {
- g_assert(SP_IS_PATH(*it->begin()));
- g_assert(it->size() == 1);
- path = SP_PATH(*it->begin());
+ if (it->size() == 1 && SP_IS_PATH(*it->begin())) {
+ path = SP_PATH(*it->begin());
+ } // else: *it->begin() might be a SPGroup, e.g. when editing a LPE of text that has been converted to a group of paths
+ // as reported in bug #356743. In that case we can just ignore it, i.e. not snap to this item
}
_snapPaths(sc, t, p, source_type, first_point, unselected_nodes, path);
} else {