summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Jeanmougin <marc@jeanmougin.fr>2018-10-07 16:58:47 +0000
committerMarc Jeanmougin <marc@jeanmougin.fr>2018-10-07 16:58:47 +0000
commite1460e78ca4ad83949bfa989e10829a2f738b985 (patch)
treee85842bf8747b0258ad038e29e7bcbf47efbfc98 /src
parentsensible behavior when reading NaN values (diff)
downloadinkscape-e1460e78ca4ad83949bfa989e10829a2f738b985.tar.gz
inkscape-e1460e78ca4ad83949bfa989e10829a2f738b985.zip
Fix for NaN checking
Diffstat (limited to 'src')
-rw-r--r--src/object/sp-object.cpp8
-rw-r--r--src/svg/svg-length.cpp4
2 files changed, 4 insertions, 8 deletions
diff --git a/src/object/sp-object.cpp b/src/object/sp-object.cpp
index 4a9a347c1..7c6b6c28d 100644
--- a/src/object/sp-object.cpp
+++ b/src/object/sp-object.cpp
@@ -996,14 +996,6 @@ void SPObject::readAttr(gchar const *key)
if (keyid != SP_ATTR_INVALID) {
/* Retrieve the 'key' attribute from the object's XML representation */
gchar const *value = getRepr()->attribute(key);
- if (value &&
- (!strcmp(value, "nan")
- || !strcmp(value, "-nan")
- || !strcmp(value, "NaN")
- || !strcmp(value, "-NaN")
- )) {
- value = nullptr;
- }
setKeyValue(keyid, value);
}
diff --git a/src/svg/svg-length.cpp b/src/svg/svg-length.cpp
index a4cf82983..dd17a21e9 100644
--- a/src/svg/svg-length.cpp
+++ b/src/svg/svg-length.cpp
@@ -184,6 +184,10 @@ bool SVGLength::read(gchar const *str)
return false;
}
+ if (!strcmp(str, "nan") || !strcmp(str, "-nan") || !strcmp(str, "NaN") || !strcmp(str, "-NaN")) {
+ return false;
+ }
+
SVGLength::Unit u;
float v;
float c;