summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan B. C. Engelen <jbc.engelen@swissonline.ch>2012-03-18 17:39:50 +0000
committerJohan B. C. Engelen <j.b.c.engelen@alumnus.utwente.nl>2012-03-18 17:39:50 +0000
commit66b40f5bd986f2802c1cc0c8ae4bab2b3eb0a950 (patch)
treedb6bb94fef9dc72758e401266d6256c421246cd1
parentpdf import. transform the bbox associated with a clip path (Bug 919176) (diff)
downloadinkscape-66b40f5bd986f2802c1cc0c8ae4bab2b3eb0a950.tar.gz
inkscape-66b40f5bd986f2802c1cc0c8ae4bab2b3eb0a950.zip
fork LPE on duplicating objects. (configurable, defaults to "on")
Fixed bugs: - https://launchpad.net/bugs/933928 (bzr r11095)
-rw-r--r--src/selection-chemistry.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp
index 9b39dab10..d0fba0de5 100644
--- a/src/selection-chemistry.cpp
+++ b/src/selection-chemistry.cpp
@@ -376,6 +376,7 @@ void sp_selection_duplicate(SPDesktop *desktop, bool suppressDone)
std::vector<const gchar *> new_ids;
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
bool relink_clones = prefs->getBool("/options/relinkclonesonduplicate/value");
+ const bool fork_livepatheffects = prefs->getBool("/options/forklpeonduplicate/value", true);
while (reprs) {
Inkscape::XML::Node *old_repr = (Inkscape::XML::Node *) reprs->data;
@@ -391,6 +392,13 @@ void sp_selection_duplicate(SPDesktop *desktop, bool suppressDone)
add_ids_recursive(new_ids, new_obj);
}
+ if (fork_livepatheffects) {
+ SPObject *new_obj = doc->getObjectByRepr(copy);
+ if (new_obj && SP_IS_LPE_ITEM(new_obj)) {
+ sp_lpe_item_fork_path_effects_if_necessary(SP_LPE_ITEM(new_obj), 1);
+ }
+ }
+
newsel = g_slist_prepend(newsel, copy);
reprs = g_slist_remove(reprs, reprs->data);
Inkscape::GC::release(copy);