diff options
author | Michael Natterer <mitch@gimp.org> | 2011-02-06 14:43:55 +0100 |
---|---|---|
committer | Michael Natterer <mitch@gimp.org> | 2011-02-06 14:45:49 +0100 |
commit | 1c0f85a813b89327c01de568f16b1ffd598e0131 (patch) | |
tree | 5ec0e473342f0b3e7017ac57b6b8b0bd751eb226 /gtk/gtkcellrenderer.c | |
parent | 1aaed01d4ffc38ae3eec1ca1070c1fea03c41833 (diff) | |
download | gtk+-1c0f85a813b89327c01de568f16b1ffd598e0131.tar.gz |
gtk: gtk_cell_renderer_get_state(): a row can be both selected and insensitive
so pull the SELECTED state flag out of the !sensitive branch. Also,
don't make FOCUSED depend on SELECTED here, it's up to the widget to
decide whether or not that is possible.
Diffstat (limited to 'gtk/gtkcellrenderer.c')
-rw-r--r-- | gtk/gtkcellrenderer.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c index 2ecdaf0414..b0f793768b 100644 --- a/gtk/gtkcellrenderer.c +++ b/gtk/gtkcellrenderer.c @@ -1703,21 +1703,21 @@ gtk_cell_renderer_get_state (GtkCellRenderer *cell, if ((widget && !gtk_widget_get_sensitive (widget)) || (cell && !gtk_cell_renderer_get_sensitive (cell)) || (cell_state & GTK_CELL_RENDERER_INSENSITIVE) != 0) - state |= GTK_STATE_FLAG_INSENSITIVE; + { + state |= GTK_STATE_FLAG_INSENSITIVE; + } else { - if ((cell_state & GTK_CELL_RENDERER_SELECTED) != 0) - { - state |= GTK_STATE_FLAG_SELECTED; - - if ((widget && gtk_widget_has_focus (widget)) && - (cell_state & GTK_CELL_RENDERER_FOCUSED) != 0) - state |= GTK_STATE_FLAG_FOCUSED; - } + if ((widget && gtk_widget_has_focus (widget)) && + (cell_state & GTK_CELL_RENDERER_FOCUSED) != 0) + state |= GTK_STATE_FLAG_FOCUSED; if ((cell_state & GTK_CELL_RENDERER_PRELIT) != 0) state |= GTK_STATE_FLAG_PRELIGHT; } + if ((cell_state & GTK_CELL_RENDERER_SELECTED) != 0) + state |= GTK_STATE_FLAG_SELECTED; + return state; } |