From: Linus Torvalds Date: Mon, 20 Aug 2012 13:45:56 +0000 (-0700) Subject: Improve group selection semantics X-Git-Url: http://git.tdb.fi/?p=ext%2Fsubsurface.git;a=commitdiff_plain;h=5726a50d89d1f76b6bc2cfb96568d41d27f2b63e Improve group selection semantics Now that the last commit tried to avoid changing the child selections if the selected group partially matched, we should always [un]select all children when we actually decide to change something. Before, it would try to minimize selection damage by stopping [un]selecting when it hit a child that already matched the selection, but since we minimize damage differently, the all-or-nothing approach is better, and gets us sane behavior when the group is collapsed. Signed-off-by: Linus Torvalds --- diff --git a/divelist.c b/divelist.c index 13db0a5..ef34b06 100644 --- a/divelist.c +++ b/divelist.c @@ -226,7 +226,7 @@ static void select_dive_group(GtkTreeModel *model, GtkTreeSelection *selection, first = 0; dive = get_dive(idx); if (dive->selected == selected) - break; + continue; select_dive(dive, selected); if (selected)