diff options
author | Cosimo Cecchi <cosimoc@gnome.org> | 2012-01-11 17:35:59 -0500 |
---|---|---|
committer | Cosimo Cecchi <cosimoc@gnome.org> | 2012-01-11 17:35:59 -0500 |
commit | 09b4658c064056fc5d51c5cfdedebef74fef3b75 (patch) | |
tree | fb6a3e23b97a827daad7f81225c02e11bffcee03 /gtk/gtkcssshorthandpropertyimpl.c | |
parent | 984834ea5749b13e325d143783323f36433a7cff (diff) | |
download | gtk+-09b4658c064056fc5d51c5cfdedebef74fef3b75.tar.gz |
shorthand: fix parsing of currentColor for border-color shorthand
Code for border-color was missing the currentColor parsing.
Diffstat (limited to 'gtk/gtkcssshorthandpropertyimpl.c')
-rw-r--r-- | gtk/gtkcssshorthandpropertyimpl.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/gtk/gtkcssshorthandpropertyimpl.c b/gtk/gtkcssshorthandpropertyimpl.c index aff350a4a4..02ff992000 100644 --- a/gtk/gtkcssshorthandpropertyimpl.c +++ b/gtk/gtkcssshorthandpropertyimpl.c @@ -159,12 +159,20 @@ parse_border_color (GtkCssShorthandProperty *shorthand, for (i = 0; i < 4; i++) { - symbolic = _gtk_css_parser_read_symbolic_color (parser); - if (symbolic == NULL) - return FALSE; + if (_gtk_css_parser_try (parser, "currentcolor", TRUE)) + { + g_value_init (&values[i], GTK_TYPE_CSS_SPECIAL_VALUE); + g_value_set_enum (&values[i], GTK_CSS_CURRENT_COLOR); + } + else + { + symbolic = _gtk_css_parser_read_symbolic_color (parser); + if (symbolic == NULL) + return FALSE; - g_value_init (&values[i], GTK_TYPE_SYMBOLIC_COLOR); - g_value_set_boxed (&values[i], symbolic); + g_value_init (&values[i], GTK_TYPE_SYMBOLIC_COLOR); + g_value_set_boxed (&values[i], symbolic); + } if (value_is_done_parsing (parser)) break; @@ -172,7 +180,7 @@ parse_border_color (GtkCssShorthandProperty *shorthand, for (i++; i < 4; i++) { - g_value_init (&values[i], GTK_TYPE_SYMBOLIC_COLOR); + g_value_init (&values[i], G_VALUE_TYPE (&values[(i - 1) >> 1])); g_value_copy (&values[(i - 1) >> 1], &values[i]); } |