summaryrefslogtreecommitdiff
path: root/gtk/gtkwidget.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2015-02-10 02:50:57 +0100
committerBenjamin Otte <otte@redhat.com>2015-03-18 15:23:31 +0100
commit2694545468cdcee127d2b17d9b01d51f2cd8ce6f (patch)
treee73f67bd9e12cd34f5a7ae5acc6ccf2f7f241887 /gtk/gtkwidget.c
parentee91fb71ca5073d30bf7d4f651798d802f7bfa7f (diff)
downloadgtk+-2694545468cdcee127d2b17d9b01d51f2cd8ce6f.tar.gz
cssnode: Add visibility concept
This allows hiding nodes of invisible widgets. And that in turn makes sure :nth-child() works as expected.
Diffstat (limited to 'gtk/gtkwidget.c')
-rw-r--r--gtk/gtkwidget.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index e13145ccfe..cfb4223bfa 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -4869,6 +4869,8 @@ gtk_widget_show (GtkWidget *widget)
gtk_widget_queue_compute_expand (widget->priv->parent);
}
+ gtk_css_node_set_visible (widget->priv->cssnode, TRUE);
+
g_signal_emit (widget, widget_signals[SHOW], 0);
g_object_notify (G_OBJECT (widget), "visible");
@@ -4967,6 +4969,8 @@ gtk_widget_hide (GtkWidget *widget)
gtk_widget_queue_compute_expand (widget);
}
+ gtk_css_node_set_visible (widget->priv->cssnode, FALSE);
+
g_signal_emit (widget, widget_signals[HIDE], 0);
if (!gtk_widget_is_toplevel (widget))
gtk_widget_queue_resize (widget);