stylecontext: Don't emit state warning for transient nodes

It's fine to call set_state() on those.

https://bugzilla.gnome.org/show_bug.cgi?id=758930
This commit is contained in:
Benjamin Otte 2015-12-02 00:26:16 +01:00
parent 2396265523
commit 8355ee3053

View File

@ -499,7 +499,11 @@ gtk_style_context_push_state (GtkStyleContext *context,
root = gtk_style_context_get_root (context); root = gtk_style_context_get_root (context);
if (GTK_IS_CSS_WIDGET_NODE (root)) if (GTK_IS_CSS_TRANSIENT_NODE (priv->cssnode))
{
/* don't emit a warning, changing state here is fine */
}
else if (GTK_IS_CSS_WIDGET_NODE (root))
{ {
GtkWidget *widget = gtk_css_widget_node_get_widget (GTK_CSS_WIDGET_NODE (root)); GtkWidget *widget = gtk_css_widget_node_get_widget (GTK_CSS_WIDGET_NODE (root));
g_warning ("State %u for %s %p doesn't match state %u set via gtk_style_context_set_state ()", g_warning ("State %u for %s %p doesn't match state %u set via gtk_style_context_set_state ()",