stylecontext: Handle theme changes for cached styles

We need to clear the cache manually on full revalidates because
_gtk_css_change_for_child() will clear the full revalidation flags.
And then gtk_style_context_update_cache() will not do the right thing
(which is to clear itself).
This commit is contained in:
Benjamin Otte 2015-01-07 18:06:59 +01:00
parent bc07a540c7
commit 29984c5282

View File

@ -2842,7 +2842,7 @@ gtk_style_context_update_cache (GtkStyleContext *context,
GtkCssStyle *parent;
gpointer key, value;
if (_gtk_bitmask_is_empty (parent_changes))
if (change == 0 && _gtk_bitmask_is_empty (parent_changes))
return;
priv = context->priv;
@ -2951,6 +2951,8 @@ _gtk_style_context_validate (GtkStyleContext *context,
g_object_unref (static_style);
g_object_unref (style);
gtk_style_context_clear_cache (context);
}
else
{