styleproperty: Fall back to default values, instead of recursing

Copy/paste error. The original commit message even explains this.
This commit is contained in:
Benjamin Otte
2011-06-11 10:02:58 +02:00
parent 7dbea94fd2
commit 8861f6dbfb

View File

@@ -1976,28 +1976,34 @@ _gtk_style_property_resolve (const GtkStyleProperty *property,
{ {
if (property->pspec->value_type == GDK_TYPE_RGBA) if (property->pspec->value_type == GDK_TYPE_RGBA)
{ {
if (!resolve_color (props, val)) if (resolve_color (props, val))
_gtk_style_property_resolve (property, props, val); return;
} }
else if (property->pspec->value_type == GDK_TYPE_COLOR) else if (property->pspec->value_type == GDK_TYPE_COLOR)
{ {
if (!resolve_color_rgb (props, val)) if (resolve_color_rgb (props, val))
_gtk_style_property_resolve (property, props, val); return;
} }
else
_gtk_style_property_resolve (property, props, val); g_value_unset (val);
g_value_init (val, property->pspec->value_type);
_gtk_style_property_default_value (property, props, val);
} }
else if (G_VALUE_TYPE (val) == GTK_TYPE_GRADIENT) else if (G_VALUE_TYPE (val) == GTK_TYPE_GRADIENT)
{ {
g_return_if_fail (property->pspec->value_type == CAIRO_GOBJECT_TYPE_PATTERN); g_return_if_fail (property->pspec->value_type == CAIRO_GOBJECT_TYPE_PATTERN);
if (!resolve_gradient (props, val)) if (!resolve_gradient (props, val))
_gtk_style_property_resolve (property, props, val); {
g_value_unset (val);
g_value_init (val, CAIRO_GOBJECT_TYPE_PATTERN);
_gtk_style_property_default_value (property, props, val);
}
} }
else if (G_VALUE_TYPE (val) == GTK_TYPE_SHADOW) else if (G_VALUE_TYPE (val) == GTK_TYPE_SHADOW)
{ {
if (!resolve_shadow (props, val)) if (!resolve_shadow (props, val))
_gtk_style_property_resolve (property, props, val); _gtk_style_property_default_value (property, props, val);
} }
} }