diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2011-01-23 18:21:32 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2011-01-23 19:34:44 +0100 |
commit | 0c7772f0cf39b2f09ddc55e0d8134c437d87004e (patch) | |
tree | 05ab76294d75bb2639e67cad1f215f32eb69ef65 /gtk/gtkwidget.c | |
parent | a0e1fa9e77a0082afda4b86d2f50f78c54a00ee7 (diff) | |
download | gtk+-0c7772f0cf39b2f09ddc55e0d8134c437d87004e.tar.gz |
Do not unset sensitivity mistakenly in gtk_widget_set_state_flags()
together with commit 8903615a34, this finally fixes bug #640282.
Insensitivity is handled separatedly in _gtk_widget_update_state_flags(),
but the insensitive flag is mistakenly unset afterwards if clear is TRUE
in gtk_widget_set_state_flags().
Diffstat (limited to 'gtk/gtkwidget.c')
-rw-r--r-- | gtk/gtkwidget.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index c1950894a9..7090dc68d5 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -6969,7 +6969,8 @@ _gtk_widget_update_state_flags (GtkWidget *widget, gtk_widget_set_sensitive (widget, operation != STATE_CHANGE_UNSET); - flags &= ~(GTK_STATE_FLAG_INSENSITIVE); + if (operation != STATE_CHANGE_REPLACE) + flags &= ~(GTK_STATE_FLAG_INSENSITIVE); /* Focused state is meant to be set only on the widget * being changed itself, not on the children */ |