diff options
| author | Niko Kiirala <niko@kiirala.com> | 2007-07-14 21:54:16 +0000 |
|---|---|---|
| committer | kiirala <kiirala@users.sourceforge.net> | 2007-07-14 21:54:16 +0000 |
| commit | 26f8b9230ebff0da3413a85b2aa49f83d80f5d7b (patch) | |
| tree | 6a78fa4a68c10fdb38910d25645ef89f77e94dba /src | |
| parent | Filter effects: (diff) | |
| download | inkscape-26f8b9230ebff0da3413a85b2aa49f83d80f5d7b.tar.gz inkscape-26f8b9230ebff0da3413a85b2aa49f83d80f5d7b.zip | |
Fixed assertion failure with some unset parameters for feComposite & feOffset
(bzr r3242)
Diffstat (limited to 'src')
| -rw-r--r-- | src/sp-fecomposite.cpp | 2 | ||||
| -rw-r--r-- | src/sp-feoffset.cpp | 16 |
2 files changed, 14 insertions, 4 deletions
diff --git a/src/sp-fecomposite.cpp b/src/sp-fecomposite.cpp index 68312aa1b..b191f9826 100644 --- a/src/sp-fecomposite.cpp +++ b/src/sp-fecomposite.cpp @@ -122,6 +122,8 @@ sp_feComposite_release(SPObject *object) static double sp_feComposite_read_number(gchar const *value) { + if (!value) return 0; + char *end; double ret = g_ascii_strtod(value, &end); if (*end) { diff --git a/src/sp-feoffset.cpp b/src/sp-feoffset.cpp index 284846855..03d8b6227 100644 --- a/src/sp-feoffset.cpp +++ b/src/sp-feoffset.cpp @@ -111,6 +111,7 @@ sp_feOffset_release(SPObject *object) static double sp_feOffset_read_number(gchar const *value) { + if (!value) return 0; char *end; double ret = g_ascii_strtod(value, &end); if (*end) { @@ -130,14 +131,21 @@ sp_feOffset_set(SPObject *object, unsigned int key, gchar const *value) { SPFeOffset *feOffset = SP_FEOFFSET(object); + double read_num; switch(key) { case SP_ATTR_DX: - feOffset->dx = sp_feOffset_read_number(value); - object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); + read_num = sp_feOffset_read_number(value); + if (read_num != feOffset->dx) { + feOffset->dx = read_num; + object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); + } break; case SP_ATTR_DY: - feOffset->dy = sp_feOffset_read_number(value); - object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); + read_num = sp_feOffset_read_number(value); + if (read_num != feOffset->dy) { + feOffset->dy = read_num; + object->parent->requestModified(SP_OBJECT_MODIFIED_FLAG); + } break; /*DEAL WITH SETTING ATTRIBUTES HERE*/ |
