summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKris De Gussem <kris.degussem@gmail.com>2014-08-15 13:14:32 +0000
committerKris De Gussem <Kris.De.Gussem@hotmail.com>2014-08-15 13:14:32 +0000
commitab9df1bf462c32d785e0b146228d5711a0599114 (patch)
treee02fbabde465696c9b512719b3f7a9edaf69c183 /src
parentsuppress compiler warning (diff)
downloadinkscape-ab9df1bf462c32d785e0b146228d5711a0599114.tar.gz
inkscape-ab9df1bf462c32d785e0b146228d5711a0599114.zip
memleak fix (Bug #1293827: LivePathEffect memory leak )
(bzr r13520)
Diffstat (limited to 'src')
-rw-r--r--src/live_effects/parameter/parameter.cpp8
-rw-r--r--src/live_effects/parameter/parameter.h2
2 files changed, 8 insertions, 2 deletions
diff --git a/src/live_effects/parameter/parameter.cpp b/src/live_effects/parameter/parameter.cpp
index a5de2169e..ad2960cd9 100644
--- a/src/live_effects/parameter/parameter.cpp
+++ b/src/live_effects/parameter/parameter.cpp
@@ -36,13 +36,19 @@ Parameter::Parameter( const Glib::ustring& label, const Glib::ustring& tip,
{
}
-
void
Parameter::param_write_to_repr(const char * svgd)
{
param_effect->getRepr()->setAttribute(param_key.c_str(), svgd);
}
+void Parameter::write_to_SVG(void)
+{
+ gchar * str = param_getSVGValue();
+ param_write_to_repr(str);
+ g_free(str);
+}
+
/*###########################################
* REAL PARAM
*/
diff --git a/src/live_effects/parameter/parameter.h b/src/live_effects/parameter/parameter.h
index 785ada92e..2e6cae49f 100644
--- a/src/live_effects/parameter/parameter.h
+++ b/src/live_effects/parameter/parameter.h
@@ -49,7 +49,7 @@ public:
virtual bool param_readSVGValue(const gchar * strvalue) = 0; // returns true if new value is valid / accepted.
virtual gchar * param_getSVGValue() const = 0;
- void write_to_SVG() { param_write_to_repr(param_getSVGValue()); }
+ void write_to_SVG();
virtual void param_set_default() = 0;