Autogroup only when selected

Comits f427226b3b and 43c3885249 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 <jlmulder@xs4all.nl>
This commit is contained in:
Jan Mulder 2018-10-14 08:20:59 +02:00
parent 068b01aef2
commit ac9bab7e2f
3 changed files with 9 additions and 9 deletions

View file

@ -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)