From 69f651d670b97da89f4597c1983b1b9ba6a67313 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Tue, 4 Jul 2023 23:43:26 +0200 Subject: [PATCH 1/2] [#2244] Copy default sep config instead of creating new one --- core/src/net/sf/openrocket/rocketcomponent/AxialStage.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/net/sf/openrocket/rocketcomponent/AxialStage.java b/core/src/net/sf/openrocket/rocketcomponent/AxialStage.java index 504969e27..b4d3ac47e 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/AxialStage.java +++ b/core/src/net/sf/openrocket/rocketcomponent/AxialStage.java @@ -207,10 +207,10 @@ public class AxialStage extends ComponentAssembly implements FlightConfigurableC public StageSeparationConfiguration getSeparationConfiguration() { FlightConfiguration flConfig = getRocket().getSelectedConfiguration(); StageSeparationConfiguration sepConfig = getSeparationConfigurations().get(flConfig.getId()); - // to ensure the configuration is distinct, and we're not modifying the default + // To ensure the configuration is distinct, and we're not modifying the default if ((sepConfig == getSeparationConfigurations().getDefault()) && (flConfig.getId() != FlightConfigurationId.DEFAULT_VALUE_FCID)) { - sepConfig = new StageSeparationConfiguration(); + sepConfig = sepConfig.copy(flConfig.getId()); getSeparationConfigurations().set(flConfig.getId(), sepConfig); } return sepConfig; From ba0867ee8e8ea152497ef2c411b5d7693c920b65 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Tue, 4 Jul 2023 23:45:39 +0200 Subject: [PATCH 2/2] Use selected config as init ID This fixes a bug where multi-editing different flight configurations in the same stage (e.g. of the last booster stage of 'Three-stage rocket') would not always correctly work --- .../SeparationConfigurationPanel.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/SeparationConfigurationPanel.java b/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/SeparationConfigurationPanel.java index 306877c46..c978649ce 100644 --- a/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/SeparationConfigurationPanel.java +++ b/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/SeparationConfigurationPanel.java @@ -181,10 +181,13 @@ public class SeparationConfigurationPanel extends FlightConfigurablePanel