From ca007d7e93ede15140f4f5f02af42db99901a80e Mon Sep 17 00:00:00 2001 From: SiboVG Date: Thu, 24 Nov 2022 16:55:35 +0100 Subject: [PATCH] [#1849] Only apply component context transforms once --- .../sf/openrocket/rocketcomponent/FlightConfiguration.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java b/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java index 2b58e7b64..b01aeb23e 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java +++ b/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java @@ -748,7 +748,12 @@ public class FlightConfiguration implements FlightConfigurableParameter instanceCoordinates = component.getComponentBounds(); + List parsedContexts = new ArrayList<>(); for (InstanceContext context : contexts) { + // Don't parse the same context component twice (e.g. multiple copies in a pod set). + if (parsedContexts.contains(context.component)) { + continue; + } Collection transformedCoords = new ArrayList<>(instanceCoordinates); // mutating. Transforms coordinates in place. context.transform.transform(instanceCoordinates); @@ -759,7 +764,9 @@ public class FlightConfiguration implements FlightConfigurableParameter