summaryrefslogtreecommitdiff
path: root/gtk/gtkcsswidgetnode.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2015-03-24 04:14:28 +0100
committerBenjamin Otte <otte@redhat.com>2015-03-24 04:23:07 +0100
commitfdc620cd56e79e461aa9f8738b4043f12080274c (patch)
tree0790cb78072e3773a916506753d29a6d8117e5d5 /gtk/gtkcsswidgetnode.c
parent59579576c6c63237fcbb364a1addcdabaeaa26a4 (diff)
downloadgtk+-fdc620cd56e79e461aa9f8738b4043f12080274c.tar.gz
cssnode: Clear widget path more aggressively
When recomputing CSS, we need a correct widget path in the fallback mode where we're still using widget paths. So we need to invalidate it everytime it actually changes, and not just when emitting the style-updated signal. Fixes css-match-regions reftest.
Diffstat (limited to 'gtk/gtkcsswidgetnode.c')
-rw-r--r--gtk/gtkcsswidgetnode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gtk/gtkcsswidgetnode.c b/gtk/gtkcsswidgetnode.c
index 12bd1434ec..70ae532ecd 100644
--- a/gtk/gtkcsswidgetnode.c
+++ b/gtk/gtkcsswidgetnode.c
@@ -54,6 +54,9 @@ gtk_css_widget_node_style_changed (GtkCssNode *cssnode,
node = GTK_CSS_WIDGET_NODE (cssnode);
+ if (node->widget)
+ gtk_widget_clear_path (node->widget);
+
GTK_CSS_NODE_CLASS (gtk_css_widget_node_parent_class)->style_changed (cssnode, old_style, new_style);
diff = gtk_css_style_get_difference (new_style, old_style);