diff options
| author | chr <chr> | 2017-05-23 19:48:27 +0000 |
|---|---|---|
| committer | chr <chr> | 2017-05-23 19:48:27 +0000 |
| commit | 71f7e26f4a6714fe1d3b6a72f61c481c3e1f52a0 (patch) | |
| tree | 066d28509e627c9d4193cc99ba4bbe020a05894e /src/live_effects/lpe-clone-original.cpp | |
| parent | bugfix: change active layer (diff) | |
| download | inkscape-71f7e26f4a6714fe1d3b6a72f61c481c3e1f52a0.tar.gz inkscape-71f7e26f4a6714fe1d3b6a72f61c481c3e1f52a0.zip | |
fix a brunch of memory leaks pt.2
I'd like to see the crappy API fixed,
to avoid this stupid mistakes.
(bzr r15698.1.12)
Diffstat (limited to 'src/live_effects/lpe-clone-original.cpp')
| -rw-r--r-- | src/live_effects/lpe-clone-original.cpp | 12 |
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); } |
