summaryrefslogtreecommitdiffstats
path: root/src/live_effects/lpe-clone-original.cpp
diff options
context:
space:
mode:
authorMarc Jeanmougin <marc@jeanmougin.fr>2017-05-23 20:48:47 +0000
committerMarc Jeanmougin <marcjeanmougin@free.fr>2017-05-23 20:48:47 +0000
commitde37ea2c3d4a1c857186dda0b113da04cd2bd79b (patch)
tree4b52381825a1d0efcbe4cada1c4bf61ade04b6a1 /src/live_effects/lpe-clone-original.cpp
parentcmake/MSYS2: Include libyaml for xverb feature (diff)
parentselection chemistry: cancel if we hit top/bottom (diff)
downloadinkscape-de37ea2c3d4a1c857186dda0b113da04cd2bd79b.tar.gz
inkscape-de37ea2c3d4a1c857186dda0b113da04cd2bd79b.zip
merge chr[] branch : Objects panel improvements, mem leaks.
(bzr r15700)
Diffstat (limited to 'src/live_effects/lpe-clone-original.cpp')
-rw-r--r--src/live_effects/lpe-clone-original.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/live_effects/lpe-clone-original.cpp b/src/live_effects/lpe-clone-original.cpp
index d97a990af..31bf0e270 100644
--- a/src/live_effects/lpe-clone-original.cpp
+++ b/src/live_effects/lpe-clone-original.cpp
@@ -138,10 +138,14 @@ LPECloneOriginal::cloneAttrbutes(SPObject *origin, SPObject *dest, bool live, co
dest_affine *= Geom::Translate(preserve_affine.translation());
affine_previous = preserve_affine;
preserve_affine = Geom::identity();
- SP_ITEM(dest)->getRepr()->setAttribute("transform",sp_svg_transform_write(dest_affine));
+ gchar * str = sp_svg_transform_write(dest_affine);
+ SP_ITEM(dest)->getRepr()->setAttribute("transform", str);
+ g_free(str);
}
} else {
- SP_ITEM(dest)->getRepr()->setAttribute("transform",sp_svg_transform_write(affine_origin));
+ gchar * str = sp_svg_transform_write(affine_origin);
+ SP_ITEM(dest)->getRepr()->setAttribute("transform", str);
+ g_free(str);
}
} else if ( shape_dest && shape_origin && live && (std::strcmp(attribute, "d") == 0)) {
SPCurve *c = NULL;
@@ -176,7 +180,9 @@ LPECloneOriginal::cloneAttrbutes(SPObject *origin, SPObject *dest, bool live, co
c->set_pathvector(c_pv);
if (!path_origin) {
shape_dest->setCurveInsync(c, TRUE);
- dest->getRepr()->setAttribute(attribute, sp_svg_write_path(c_pv));
+ gchar *str = sp_svg_write_path(c_pv);
+ dest->getRepr()->setAttribute(attribute, str);
+ g_free(str);
} else {
shape_dest->setCurve(c, TRUE);
}