[gtk+] shorthand: fix parsing of currentColor for border-color shorthand
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] shorthand: fix parsing of currentColor for border-color shorthand
- Date: Wed, 11 Jan 2012 22:37:58 +0000 (UTC)
commit 09b4658c064056fc5d51c5cfdedebef74fef3b75
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Wed Jan 11 17:35:59 2012 -0500
shorthand: fix parsing of currentColor for border-color shorthand
Code for border-color was missing the currentColor parsing.
gtk/gtkcssshorthandpropertyimpl.c | 20 ++++++++++++++------
1 files changed, 14 insertions(+), 6 deletions(-)
---
diff --git a/gtk/gtkcssshorthandpropertyimpl.c b/gtk/gtkcssshorthandpropertyimpl.c
index aff350a..02ff992 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]);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]