amount_selected should never be decremented if already 0

this is probably more a workaround than a proper fix to a problem which
I think only happens if started with no dive loaded and then create one.
in that case, deselect_dive is called after saving the dive but probalby
before it was added to the dive list properly resulting in an underflow
of amount_selected.

Signed-off-by: Martin Gysel <me@bearsh.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Martin Gysel 2013-12-07 13:25:18 +01:00 committed by Dirk Hohndel
parent d9ca999a17
commit c1a9e7c996

View file

@ -820,7 +820,8 @@ void deselect_dive(int idx)
struct dive *dive = get_dive(idx);
if (dive && dive->selected) {
dive->selected = 0;
amount_selected--;
if (amount_selected)
amount_selected--;
if (selected_dive == idx && amount_selected > 0) {
/* pick a different dive as selected */
while (--selected_dive >= 0) {