From c1a9e7c996fd24453087885f37aafc8c24c58c24 Mon Sep 17 00:00:00 2001 From: Martin Gysel Date: Sat, 7 Dec 2013 13:25:18 +0100 Subject: 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 Signed-off-by: Dirk Hohndel --- divelist.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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) { -- cgit v1.2.3-70-g09d2