From cd44d73b5564158752629519471ed1e697cb821e Mon Sep 17 00:00:00 2001 From: SiboVG Date: Mon, 28 Feb 2022 22:56:44 +0100 Subject: [PATCH] [fixes #1163] I messed up one line of code... --- .../FlightConfigurationPanel.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/FlightConfigurationPanel.java b/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/FlightConfigurationPanel.java index 59d75641b..98d3c607e 100644 --- a/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/FlightConfigurationPanel.java +++ b/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/FlightConfigurationPanel.java @@ -170,7 +170,7 @@ public class FlightConfigurationPanel extends JPanel implements StateChangeListe * create simulation for new configuration */ private void addOrCopyConfiguration(boolean copy) { - Map newConfigs = new LinkedHashMap<>(); + final Map newConfigs = new LinkedHashMap<>(); // create or copy configuration if (copy) { @@ -198,20 +198,22 @@ public class FlightConfigurationPanel extends JPanel implements StateChangeListe newConfigs.put(newId, newConfig); } - for (FlightConfigurationId newId : newConfigs.keySet()) { + OpenRocketDocument doc = BasicFrame.findDocument(rocket); + if (doc == null) return; + + for (Map.Entry config : newConfigs.entrySet()) { // associate configuration with Id and select it - rocket.setFlightConfiguration(newId, newConfigs.get(newId)); + rocket.setFlightConfiguration(config.getKey(), config.getValue()); + rocket.setSelectedConfiguration(config.getKey()); // create simulation for configuration Simulation newSim = new Simulation(rocket); - OpenRocketDocument doc = BasicFrame.findDocument(rocket); - if (doc != null) { - newSim.setName(doc.getNextSimulationName()); - doc.addSimulation(newSim); - } + newSim.setName(doc.getNextSimulationName()); + doc.addSimulation(newSim); } + // Reset to first selected flight config rocket.setSelectedConfiguration((FlightConfigurationId) newConfigs.keySet().toArray()[0]); }