diff options
-rw-r--r-- | gtk/gtkcssnode.c | 6 |
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 { |