From 9d6da33ff5c5e41e3521e1afd63d2d67bc915753 Mon Sep 17 00:00:00 2001 From: Rui Matos Date: Fri, 16 Dec 2011 23:46:19 +0000 Subject: [PATCH] widget: Flip the sensitive flag even if the state doesn't change Even if we can't change our sensitivity because the parent is insensitive we should still flip the sensitive flag. Otherwise, with and insensitive parent, child.set_sensitive(True) ... parent.set_sensitive(True) would result in child still being insensitive. https://bugzilla.gnome.org/show_bug.cgi?id=666392 --- gtk/gtkwidget.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 7c189c4271..535da26376 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -7673,6 +7673,8 @@ gtk_widget_set_sensitive (GtkWidget *widget, if (priv->sensitive == sensitive) return; + priv->sensitive = sensitive; + if (priv->parent == NULL || gtk_widget_is_sensitive (priv->parent)) { @@ -7681,15 +7683,9 @@ gtk_widget_set_sensitive (GtkWidget *widget, data.flags = GTK_STATE_FLAG_INSENSITIVE; if (sensitive) - { - priv->sensitive = TRUE; - data.operation = STATE_CHANGE_UNSET; - } + data.operation = STATE_CHANGE_UNSET; else - { - priv->sensitive = FALSE; - data.operation = STATE_CHANGE_SET; - } + data.operation = STATE_CHANGE_SET; data.use_forall = TRUE;