]> Pileus Git - ~andy/gtk/commitdiff
GtkCssProvider: Allow symbolic colors when parsing style rules.
authorCarlos Garnacho <carlosg@gnome.org>
Fri, 25 Jun 2010 18:31:08 +0000 (20:31 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Sat, 4 Dec 2010 14:37:15 +0000 (15:37 +0100)
gtk/gtkcssprovider.c

index 5d2d02b2ddcbfcf6d25de63a5d283890220ad671..b48b0b6e29fcf33251780973b783ca3b3557e3e4 100644 (file)
@@ -1185,10 +1185,21 @@ css_provider_parse_value (const gchar *value_str,
     {
       GdkColor color;
 
-      if (gdk_color_parse (value_str, &color) == FALSE)
-        return FALSE;
+      if (gdk_color_parse (value_str, &color) == TRUE)
+        g_value_set_boxed (value, &color);
+      else
+        {
+          GtkSymbolicColor *symbolic_color;
 
-      g_value_set_boxed (value, &color);
+          symbolic_color = symbolic_color_parse (value_str);
+
+          if (!symbolic_color)
+            return FALSE;
+
+          g_value_unset (value);
+          g_value_init (value, GTK_TYPE_SYMBOLIC_COLOR);
+          g_value_take_boxed (value, symbolic_color);
+        }
     }
   else if (type == PANGO_TYPE_FONT_DESCRIPTION)
     {