From 03e7b13ab09c39d2147e06138c517f0199d4f091 Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Cenoz Date: Fri, 8 Apr 2016 15:26:55 +0200 Subject: Bug #1552765 fixed Break Apart dont handle well stroke with in documents different than px Fixed bugs: - https://launchpad.net/bugs/1552765 (bzr r14765) --- src/path-chemistry.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/path-chemistry.cpp b/src/path-chemistry.cpp index 15d3f0f99..1a345b565 100644 --- a/src/path-chemistry.cpp +++ b/src/path-chemistry.cpp @@ -1,4 +1,4 @@ -/* + /* * Here are handlers for modifying selections, specific to paths * * Authors: @@ -217,7 +217,6 @@ sp_selected_path_break_apart(SPDesktop *desktop, bool skip_undo) if (curve == NULL) { continue; } - did = true; Inkscape::XML::Node *parent = item->getRepr()->parent(); @@ -228,16 +227,10 @@ sp_selected_path_break_apart(SPDesktop *desktop, bool skip_undo) gchar *style = g_strdup(item->getRepr()->attribute("style")); // XML Tree being used directly here while it shouldn't be... gchar *path_effect = g_strdup(item->getRepr()->attribute("inkscape:path-effect")); - - Geom::PathVector apv = curve->get_pathvector() * path->transform; - - curve->unref(); - + Geom::Affine transform = path->transform; // it's going to resurrect as one of the pieces, so we delete without advertisement item->deleteObject(false); - curve = new SPCurve(apv); - g_assert(curve != NULL); GSList *list = curve->split(); @@ -258,7 +251,8 @@ sp_selected_path_break_apart(SPDesktop *desktop, bool skip_undo) else repr->setAttribute("d", str); g_free(str); - + repr->setAttribute("transform", sp_svg_transform_write(transform)); + // add the new repr to the parent parent->appendChild(repr); -- cgit v1.2.3