summaryrefslogtreecommitdiff
path: root/gtk/gtktreeview.c
diff options
context:
space:
mode:
authorKristian Rietveld <kris@imendio.com>2006-03-01 12:18:57 +0000
committerKristian Rietveld <kristian@src.gnome.org>2006-03-01 12:18:57 +0000
commit2e6ba401cc22f25cf97245ef3bd8ec832617770a (patch)
tree0a4f781d6bb86778152f7993b4e6bb03e646ac57 /gtk/gtktreeview.c
parent208f26cbf91f39b3f96ead93fb3d75150c89e056 (diff)
downloadgtk+-2e6ba401cc22f25cf97245ef3bd8ec832617770a.tar.gz
rename to _gtk_tree_selection_row_is_selectable and export internally,
2006-03-01 Kristian Rietveld <kris@imendio.com> * gtk/gtktreeselection.c (row_is_selectable): rename to _gtk_tree_selection_row_is_selectable and export internally, (gtk_tree_selection_real_select_node): changed so it is always possible to unselect insensitive nodes, changed the logic a bit to be more clear. * gtk/gtktreeprivate.h: add _gtk_tree_selection_row_is_selectable. * gtk/gtktreeview.c (gtk_tree_view_row_changed): Unselect a row if it became insensitive.
Diffstat (limited to 'gtk/gtktreeview.c')
-rw-r--r--gtk/gtktreeview.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index f2994684aa..492678c5ab 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -7238,6 +7238,11 @@ gtk_tree_view_row_changed (GtkTreeModel *model,
if (tree == NULL)
goto done;
+ /* Check if the node became insensitive, and if so, unselect it */
+ if (!_gtk_tree_selection_row_is_selectable (tree_view->priv->selection,
+ node, path))
+ gtk_tree_selection_unselect_path (tree_view->priv->selection, path);
+
if (tree_view->priv->fixed_height_mode
&& tree_view->priv->fixed_height >= 0)
{