summaryrefslogtreecommitdiffstats
path: root/src/path-chemistry.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/path-chemistry.cpp')
-rw-r--r--src/path-chemistry.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/path-chemistry.cpp b/src/path-chemistry.cpp
index 6ef4b2742..46160ccf4 100644
--- a/src/path-chemistry.cpp
+++ b/src/path-chemistry.cpp
@@ -139,17 +139,18 @@ sp_selected_path_combine(SPDesktop *desktop)
repr->setAttribute("style", style);
g_free(style);
+ repr->setAttribute("inkscape:path-effect", path_effect);
+ g_free(path_effect);
+
// set path data corresponding to new curve
gchar *dstring = sp_svg_write_path(curve->get_pathvector());
curve->unref();
- repr->setAttribute("d", dstring);
if (path_effect)
repr->setAttribute("inkscape:original-d", dstring);
+ else
+ repr->setAttribute("d", dstring);
g_free(dstring);
- repr->setAttribute("inkscape:path-effect", path_effect);
- g_free(path_effect);
-
// add the new group to the parent of the topmost
parent->appendChild(repr);
@@ -231,14 +232,15 @@ sp_selected_path_break_apart(SPDesktop *desktop)
Inkscape::XML::Node *repr = parent->document()->createElement("svg:path");
repr->setAttribute("style", style);
+ repr->setAttribute("inkscape:path-effect", path_effect);
+
gchar *str = sp_svg_write_path(curve->get_pathvector());
- repr->setAttribute("d", str);
if (path_effect)
repr->setAttribute("inkscape:original-d", str);
+ else
+ repr->setAttribute("d", str);
g_free(str);
- repr->setAttribute("inkscape:path-effect", path_effect);
-
// add the new repr to the parent
parent->appendChild(repr);
@@ -259,7 +261,7 @@ sp_selected_path_break_apart(SPDesktop *desktop)
g_slist_free(reprs);
g_slist_free(list);
g_free(style);
-
+ g_free(path_effect);
}
desktop->clearWaitingCursor();