[gtk+/wip/cssvalue: 52/165] customproperty: Don't rely on querying style property



commit 7ad48520f0f725524957bb896a9b71bc2f41355d
Author: Benjamin Otte <otte redhat com>
Date:   Tue Mar 27 05:00:35 2012 +0200

    customproperty: Don't rely on querying style property
    
    This way, we can remove type madness from GtkCssStyleProperty later.

 gtk/gtkcsscustomproperty.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkcsscustomproperty.c b/gtk/gtkcsscustomproperty.c
index 28355dc..fd53b85 100644
--- a/gtk/gtkcsscustomproperty.c
+++ b/gtk/gtkcsscustomproperty.c
@@ -28,6 +28,16 @@
 
 G_DEFINE_TYPE (GtkCssCustomProperty, _gtk_css_custom_property, GTK_TYPE_CSS_STYLE_PROPERTY)
 
+static GType
+gtk_css_custom_property_get_specified_type (GParamSpec *pspec)
+{
+  if (pspec->value_type == GDK_TYPE_RGBA ||
+      pspec->value_type == GDK_TYPE_COLOR)
+    return GTK_TYPE_SYMBOLIC_COLOR;
+  else
+    return pspec->value_type;
+}
+
 static GtkCssValue *
 gtk_css_custom_property_parse_value (GtkStyleProperty *property,
                                      GtkCssParser     *parser,
@@ -56,8 +66,7 @@ gtk_css_custom_property_parse_value (GtkStyleProperty *property,
     }
   else
     {
-      GtkCssStyleProperty *style = GTK_CSS_STYLE_PROPERTY (property);
-      g_value_init (&value, _gtk_css_style_property_get_specified_type (style));
+      g_value_init (&value, gtk_css_custom_property_get_specified_type (custom->pspec));
 
       success = _gtk_css_style_parse_value (&value, parser, base);
     }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]