[fixes #927] Only update flight data info for current flight config

This commit is contained in:
Sibo Van Gool 2021-08-24 13:48:35 +02:00
parent ee536d3631
commit 3646a8858e

View File

@ -745,15 +745,15 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
*/ */
private void runBackgroundSimulations(List<Simulation> sims, Rocket rkt) { private void runBackgroundSimulations(List<Simulation> sims, Rocket rkt) {
if (sims.size() == 0) { if (sims.size() == 0) {
extraText.setCalculatingData(false);
FlightConfigurationId curID = document.getSelectedConfiguration().getFlightConfigurationID(); FlightConfigurationId curID = document.getSelectedConfiguration().getFlightConfigurationID();
for (Simulation sim : document.getSimulations()) { for (Simulation sim : document.getSimulations()) {
if (sim.getFlightConfigurationId().compareTo(curID) == 0) { if (sim.getFlightConfigurationId().compareTo(curID) == 0) {
extraText.setFlightData(sim.getSimulatedData()); extraText.setFlightData(sim.getSimulatedData());
break; return;
} }
} }
extraText.setCalculatingData(false); extraText.setFlightData(FlightData.NaN_DATA);
return;
} }
// I *think* every FlightConfiguration has at least one associated simulation; just in case I'm wrong, // I *think* every FlightConfiguration has at least one associated simulation; just in case I'm wrong,
@ -820,7 +820,12 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
if (isCancelled() || backgroundSimulationWorker != this) if (isCancelled() || backgroundSimulationWorker != this)
return; return;
backgroundSimulationWorker = null; backgroundSimulationWorker = null;
extraText.setFlightData(simulation.getSimulatedData());
// Only set the flight data information of the current flight configuration
FlightConfigurationId curID = document.getSelectedConfiguration().getFlightConfigurationID();
if (simulation.getFlightConfigurationId().compareTo(curID) == 0) {
extraText.setFlightData(simulation.getSimulatedData());
}
extraText.setCalculatingData(false); extraText.setCalculatingData(false);
figure.repaint(); figure.repaint();
figure3d.repaint(); figure3d.repaint();