diff options
author | Benjamin Otte <otte@redhat.com> | 2014-06-10 01:04:55 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2014-06-10 01:07:57 +0200 |
commit | 3759190c2674aebd6b40ff5f337b155073ed5b78 (patch) | |
tree | 51d5a33d92df8b70cc010037a0cfe85a463419ed /gtk/gtkcssshadowvalue.c | |
parent | fc00381d306400977c7c83e564a7eb552cc8250d (diff) | |
download | gtk+-3759190c2674aebd6b40ff5f337b155073ed5b78.tar.gz |
css: Parse text-shadow values properly
We used to accept the same syntax for text-shadow and icon-shadow as
we accept for box-shadow. However, box-shadow does accept a spread and
the inset keyword while the others should not.
Diffstat (limited to 'gtk/gtkcssshadowvalue.c')
-rw-r--r-- | gtk/gtkcssshadowvalue.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gtk/gtkcssshadowvalue.c b/gtk/gtkcssshadowvalue.c index 6dcd2dd798..fead494c39 100644 --- a/gtk/gtkcssshadowvalue.c +++ b/gtk/gtkcssshadowvalue.c @@ -209,7 +209,8 @@ value_is_done_parsing (GtkCssParser *parser) } GtkCssValue * -_gtk_css_shadow_value_parse (GtkCssParser *parser) +_gtk_css_shadow_value_parse (GtkCssParser *parser, + gboolean box_shadow_mode) { enum { HOFFSET, @@ -223,7 +224,8 @@ _gtk_css_shadow_value_parse (GtkCssParser *parser) gboolean inset; guint i; - inset = _gtk_css_parser_try (parser, "inset", TRUE); + if (box_shadow_mode) + inset = _gtk_css_parser_try (parser, "inset", TRUE); do { @@ -254,7 +256,7 @@ _gtk_css_shadow_value_parse (GtkCssParser *parser) else values[RADIUS] = _gtk_css_number_value_new (0.0, GTK_CSS_PX); - if (_gtk_css_parser_has_number (parser)) + if (box_shadow_mode && _gtk_css_parser_has_number (parser)) { values[SPREAD] = _gtk_css_number_value_parse (parser, GTK_CSS_PARSE_LENGTH @@ -265,7 +267,7 @@ _gtk_css_shadow_value_parse (GtkCssParser *parser) else values[SPREAD] = _gtk_css_number_value_new (0.0, GTK_CSS_PX); } - else if (!inset && _gtk_css_parser_try (parser, "inset", TRUE)) + else if (!inset && box_shadow_mode && _gtk_css_parser_try (parser, "inset", TRUE)) { if (values[HOFFSET] == NULL) goto fail; |