diff options
Diffstat (limited to 'gtk/gtkcssvalue.c')
-rw-r--r-- | gtk/gtkcssvalue.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gtk/gtkcssvalue.c b/gtk/gtkcssvalue.c index 63a23b0f6c..c925668657 100644 --- a/gtk/gtkcssvalue.c +++ b/gtk/gtkcssvalue.c @@ -80,6 +80,7 @@ _gtk_css_value_alloc (const GtkCssValueClass *klass, value->class = klass; value->ref_count = 1; + value->is_static = FALSE; count_value (klass->type_name, 1); @@ -133,7 +134,10 @@ _gtk_css_value_compute (GtkCssValue *value, GtkCssStyle *style, GtkCssStyle *parent_style) { - return value->class->compute (value, property_id, provider, style, parent_style); + if (value->is_static) + return _gtk_css_value_ref (value); + else + return value->class->compute (value, property_id, provider, style, parent_style); } gboolean |