summaryrefslogtreecommitdiff
path: root/css
diff options
context:
space:
mode:
Diffstat (limited to 'css')
-rw-r--r--css/ruleset.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/css/ruleset.c b/css/ruleset.c
index d04f62359..30d8c8ffd 100644
--- a/css/ruleset.c
+++ b/css/ruleset.c
@@ -658,15 +658,19 @@ int parse_length(struct css_length * const length,
return 0;
}
- if (v->type != CSS_NODE_DIMENSION)
+ if (v->type != CSS_NODE_DIMENSION && v->type != CSS_NODE_NUMBER)
return 1;
num_length = strspn(v->data, "0123456789+-.");
- u = css_unit_parse(v->data + num_length,
- v->data_length - num_length);
- if (u == CSS_UNIT_UNKNOWN) {
- return 1;
+ if (v->type == CSS_NODE_DIMENSION) {
+ u = css_unit_parse(v->data + num_length,
+ v->data_length - num_length);
+ if (u == CSS_UNIT_UNKNOWN) {
+ return 1;
+ }
+ } else {
+ u = CSS_UNIT_PX;
}
value = atof(v->data);
if (non_negative && value < 0)