summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dive.c1
-rw-r--r--divelist.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/dive.c b/dive.c
index f7c5d99c6..295d14ae5 100644
--- a/dive.c
+++ b/dive.c
@@ -1051,6 +1051,7 @@ struct dive *merge_dives(struct dive *a, struct dive *b, int offset)
struct dive *res = alloc_dive();
res->when = a->when;
+ res->selected = a->selected || b->selected;
merge_trip(res, a, b);
MERGE_NONZERO(res, a, b, latitude);
MERGE_NONZERO(res, a, b, longitude);
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);