diff --git a/src/sp-feoffset.cpp b/src/sp-feoffset.cpp
index b4a50679ed18fcec7280c5df422c4ce3b35caca2..03d8b6227502b7a21831c7a46cd37ff7fdccc74c 100644 (file)
--- a/src/sp-feoffset.cpp
+++ b/src/sp-feoffset.cpp
((SPObjectClass *) feOffset_parent_class)->release(object);
}
-double sp_feOffset_read_number(gchar const *value) {
+static double
+sp_feOffset_read_number(gchar const *value) {
+ if (!value) return 0;
char *end;
double ret = g_ascii_strtod(value, &end);
if (*end) {
{
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*/