summaryrefslogtreecommitdiffstats
path: root/divelist.c
diff options
context:
space:
mode:
authorGravatar Linus Torvalds <torvalds@linux-foundation.org>2012-11-11 11:00:27 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2012-11-11 11:15:47 +0100
commitba5079a489525b3c3e446b1b5fff8f7ca98e97f3 (patch)
tree37df0d62f5a4bc09785a728b64ba73af70d377af /divelist.c
parentc0ebef92bf0065e9249fdac87443c7cedffc219f (diff)
downloadsubsurface-ba5079a489525b3c3e446b1b5fff8f7ca98e97f3.tar.gz
Fix selection and trip expansion logic after merging dives
This just makes sure that the merged dive is properly selected, and that we've saved the trip tree state so that the dive list repaints nicely and with the newly merged dive selected after the merge. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'divelist.c')
-rw-r--r--divelist.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/divelist.c b/divelist.c
index 8dab5b4cb..fd55dcd60 100644
--- a/divelist.c
+++ b/divelist.c
@@ -1938,6 +1938,8 @@ void add_single_dive(int idx, struct dive *dive)
{
int i;
dive_table.nr++;
+ if (dive->selected)
+ amount_selected++;
for (i = idx; i < dive_table.nr ; i++) {
struct dive *tmp = dive_table.dives[i];
dive_table.dives[i] = dive;
@@ -2090,6 +2092,7 @@ static void merge_dive_index(int i, struct dive *a)
if (!res)
return;
+ remember_tree_state();
add_single_dive(i, res);
delete_single_dive(i+1);
delete_single_dive(i+1);