diff --git a/src/sp-item-group.cpp b/src/sp-item-group.cpp
index 91afd8db112f38f16c68863ea3ad0fab143fbc55..f43f4ded952fd4c9f0be6a3a41969fa5a98f5b10 100644 (file)
--- a/src/sp-item-group.cpp
+++ b/src/sp-item-group.cpp
#include "prefs-utils.h"
#include "sp-clippath.h"
#include "sp-mask.h"
+#include "sp-path.h"
static void sp_group_class_init (SPGroupClass *klass);
static void sp_group_init (SPGroup *group);
o != NULL;
o = SP_OBJECT_NEXT(o))
{
- if (SP_IS_ITEM(o)) {
- sp_item_snappoints(SP_ITEM(o), p);
+ if (SP_IS_ITEM(o) && !SP_IS_PATH(o)) {
+ // getSnapPoints() and sp_group_snappoints are only being used in the selector tool,
+ // which should not snap path nodes. Only the node tool should snap those.
+ sp_item_snappoints(SP_ITEM(o), p);
}
}
}
child->updateRepr();
- Inkscape::XML::Node *nrepr = SP_OBJECT_REPR (child)->duplicate();
+ Inkscape::XML::Node *nrepr = SP_OBJECT_REPR (child)->duplicate(prepr->document());
// Merging transform
NR::Matrix ctrans;
items = g_slist_prepend (items, nrepr);
} else {
- Inkscape::XML::Node *nrepr = SP_OBJECT_REPR (child)->duplicate();
+ Inkscape::XML::Node *nrepr = SP_OBJECT_REPR (child)->duplicate(prepr->document());
objects = g_slist_prepend (objects, nrepr);
}
}
}
/* Step 4 - add items */
- gint const preserve = prefs_get_int_attribute("options.preservetransform", "value", 0);
while (items) {
Inkscape::XML::Node *repr = (Inkscape::XML::Node *) items->data;
// add item