From ac9bab7e2fdc08a3ce691a2c7035e315ec3d8ff2 Mon Sep 17 00:00:00 2001 From: Jan Mulder Date: Sun, 14 Oct 2018 08:20:59 +0200 Subject: Autogroup only when selected Comits f427226b3b and 43c3885249f of the undo series introduced 2 calls of autogroup_dives() without checking the autogroup global boolean. This is a bug. An import from DC (for example) then triggers an autogrouping, the divelist is autogrouped, and the UI button is off. This commit solves this. I've chosen for a guard in the autogroup_dives() that now is a no-op when called when the user did not select autogrouping. In additon, simplified the other calls to this function, as we do not need to check before calling any more. Signed-off-by: Jan Mulder --- core/divelist.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'core/divelist.c') diff --git a/core/divelist.c b/core/divelist.c index d67f7935f..ad851ecc8 100644 --- a/core/divelist.c +++ b/core/divelist.c @@ -1023,7 +1023,8 @@ dive_trip_t *get_dives_to_autogroup(int start, int *from, int *to, bool *allocat } /* - * Walk the dives from the oldest dive, and see if we can autogroup them + * Walk the dives from the oldest dive, and see if we can autogroup them. + * But only do this when the user selected autogrouping. */ void autogroup_dives(void) { @@ -1032,6 +1033,9 @@ void autogroup_dives(void) int i, j; bool alloc; + if (!autogroup) + return; + for(i = 0; (trip = get_dives_to_autogroup(i, &from, &to, &alloc)) != NULL; i = to) { /* If this was newly allocated, add trip to list */ if (alloc) -- cgit v1.2.3-70-g09d2