diff options
author | Benjamin Otte <otte@redhat.com> | 2012-01-15 02:29:00 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2012-02-02 03:14:00 +0100 |
commit | 9551f542bdc10e1bdcd7f7561126476c9a68dd87 (patch) | |
tree | bf8dfe90068da8ac8ab4323a4698777b289e4898 /gtk/gtkcsscustomproperty.c | |
parent | 893807bee0e9a5777a8c93c76e9529fecf6fa85f (diff) | |
download | gtk+-9551f542bdc10e1bdcd7f7561126476c9a68dd87.tar.gz |
css: Ensure proper type for parsing custom properties
Diffstat (limited to 'gtk/gtkcsscustomproperty.c')
-rw-r--r-- | gtk/gtkcsscustomproperty.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gtk/gtkcsscustomproperty.c b/gtk/gtkcsscustomproperty.c index fcb8a0f9c7..b3949a8791 100644 --- a/gtk/gtkcsscustomproperty.c +++ b/gtk/gtkcsscustomproperty.c @@ -38,13 +38,13 @@ gtk_css_custom_property_parse_value (GtkStyleProperty *property, GtkCssCustomProperty *custom = GTK_CSS_CUSTOM_PROPERTY (property); gboolean success; - g_value_init (value, _gtk_style_property_get_value_type (property)); - if (custom->property_parse_func) { GError *error = NULL; char *value_str; + g_value_init (value, _gtk_style_property_get_value_type (property)); + value_str = _gtk_css_parser_read_value (parser); if (value_str != NULL) { @@ -55,7 +55,12 @@ gtk_css_custom_property_parse_value (GtkStyleProperty *property, success = FALSE; } else - success = _gtk_css_style_parse_value (value, parser, base); + { + GtkCssStyleProperty *style = GTK_CSS_STYLE_PROPERTY (property); + g_value_init (value, _gtk_css_style_property_get_specified_type (style)); + + success = _gtk_css_style_parse_value (value, parser, base); + } if (!success) g_value_unset (value); |