summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk/gtkcssnode.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gtk/gtkcssnode.c b/gtk/gtkcssnode.c
index a1bbe77d36..0772369fae 100644
--- a/gtk/gtkcssnode.c
+++ b/gtk/gtkcssnode.c
@@ -1034,6 +1034,12 @@ gtk_css_node_ensure_style (GtkCssNode *cssnode,
style_changed = gtk_css_node_set_style (cssnode, new_style);
g_object_unref (new_style);
+
+ if (!style_changed && (cssnode->pending_changes & GTK_CSS_CHANGE_SOURCE))
+ {
+ /* clear the global cache if we reuse the same style after the CSS changed */
+ g_object_set_qdata (G_OBJECT (cssnode->style), quark_global_cache, NULL);
+ }
}
else
{