From a1b20fe18ebdcae4dee99287602147e8aae8218c Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 19 Mar 2026 11:35:16 +0100 Subject: [PATCH] bug6214: moving tail removal into a method to stay consistent --- .../gwt/ui/client/shared/racemap/RaceMap.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMap.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMap.java index bb529bb3f9e..5f7f89aca9f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMap.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMap.java @@ -2026,12 +2026,17 @@ public class RaceMap extends AbstractCompositeComponent impleme boatCanvas.removeFromMap(); boatOverlaysByCompetitorIdsAsStrings.remove(unusedBoatCanvasCompetitorDTO); } - for (String unusedTailCompetitorDTO : competitorIdsAsStringOfUnusedTails) { - fixesAndTails.removeTail(unusedTailCompetitorDTO); + for (String unusedTailCompetitorIdAsString : competitorIdsAsStringOfUnusedTails) { + removeTail(unusedTailCompetitorIdAsString); } } } } + + private void removeTail(String competitorIdAsString) { + fixesAndTails.removeTail(competitorIdAsString); + lastAppliedTailDisplayModes.remove(competitorIdAsString); + } /** * This algorithm is limited to distances such that dlon < pi/2, i.e., those that extend around less than one @@ -3209,8 +3214,7 @@ public class RaceMap extends AbstractCompositeComponent impleme if (!next.getKey().equals(competitor.getIdAsString())) { CanvasOverlayV3 boatOverlay = next.getValue(); boatOverlay.removeFromMap(); - fixesAndTails.removeTail(next.getKey()); - lastAppliedTailDisplayModes.remove(next.getKey()); + removeTail(next.getKey()); i.remove(); // only this way a ConcurrentModificationException while looping can be avoided } } @@ -3246,8 +3250,7 @@ public class RaceMap extends AbstractCompositeComponent impleme if (removedBoatOverlay != null) { removedBoatOverlay.removeFromMap(); } - fixesAndTails.removeTail(competitor.getIdAsString()); - lastAppliedTailDisplayModes.remove(competitor.getIdAsString()); + removeTail(competitor.getIdAsString()); showCompetitorInfoOnMap(timer.getTime(), -1, competitorSelection.getSelectedFilteredCompetitors()); } } else {