diff options
| author | Tavmjong Bah <tavmjong@free.fr> | 2014-04-30 19:21:51 +0000 |
|---|---|---|
| committer | tavmjong-free <tavmjong@free.fr> | 2014-04-30 19:21:51 +0000 |
| commit | 8e0bf92c1af34564684c7f1b4a03003e643216e1 (patch) | |
| tree | 3c792e80f3a980824d2c0df4616faa8aa675392c /src | |
| parent | do not allow ellipse arc segment greater than 90 degrees. (Bug 1312333) (diff) | |
| download | inkscape-8e0bf92c1af34564684c7f1b4a03003e643216e1.tar.gz inkscape-8e0bf92c1af34564684c7f1b4a03003e643216e1.zip | |
Style rewrite: more buglets squashed (thanks Johan).
(bzr r13328)
Diffstat (limited to 'src')
| -rw-r--r-- | src/style-internal.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/style-internal.h b/src/style-internal.h index 0901cc0bc..e9cf6e604 100644 --- a/src/style-internal.h +++ b/src/style-internal.h @@ -128,6 +128,7 @@ class SPIBase { set = rhs.set; inherit = rhs.inherit; style_att = rhs.style_att; + style = rhs.style; return *this; } @@ -390,7 +391,7 @@ class SPIString : public SPIBase { SPIBase( name ) , value(NULL) , value_default(NULL) { value_default = value_default_in?g_strdup(value_default_in):NULL; }; - virtual ~SPIString() { g_free(value); }; + virtual ~SPIString() { g_free(value); g_free(value_default); }; virtual void read( gchar const *str ); virtual const Glib::ustring write( guint const flags = SP_STYLE_FLAG_IFSET, SPIBase const *const base = NULL ) const; @@ -400,6 +401,8 @@ class SPIString : public SPIBase { SPIString& operator=(const SPIString& rhs) { SPIBase::operator=(rhs); + g_free(value); + g_free(value_default); value = rhs.value?g_strdup(rhs.value):NULL; value_default = rhs.value_default?g_strdup(rhs.value_default):NULL; return *this; @@ -430,7 +433,8 @@ class SPIColor : public SPIBase { SPIColor& operator=(const SPIColor& rhs) { SPIBase::operator=(rhs); - value.color = rhs.value.color; + currentcolor = rhs.currentcolor; + value.color = rhs.value.color; return *this; } @@ -558,6 +562,7 @@ class SPIPaintOrder : public SPIBase { layer[i] = rhs.layer[i]; layer_set[i] = rhs.layer_set[i]; } + g_free(value); value = g_strdup(rhs.value); return *this; } |
