diff options
author | Martin Gysel <me@bearsh.org> | 2013-12-07 13:25:18 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-12-07 07:28:18 -0800 |
commit | c1a9e7c996fd24453087885f37aafc8c24c58c24 (patch) | |
tree | fa411bca600e5ec370921d9d2fe8b0acfbf6546b /divelist.c | |
parent | d9ca999a17a45b5c993ed1a693c4c4e386393ec0 (diff) | |
download | subsurface-c1a9e7c996fd24453087885f37aafc8c24c58c24.tar.gz |
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>
Diffstat (limited to 'divelist.c')
-rw-r--r-- | divelist.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/divelist.c b/divelist.c index 36f43e4fc..18435ca29 100644 --- a/divelist.c +++ b/divelist.c @@ -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) { |