[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,16 +745,16 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
*/
private void runBackgroundSimulations(List<Simulation> sims, Rocket rkt) {
if (sims.size() == 0) {
extraText.setCalculatingData(false);
FlightConfigurationId curID = document.getSelectedConfiguration().getFlightConfigurationID();
for (Simulation sim : document.getSimulations()) {
if (sim.getFlightConfigurationId().compareTo(curID) == 0) {
extraText.setFlightData(sim.getSimulatedData());
break;
}
}
extraText.setCalculatingData(false);
return;
}
}
extraText.setFlightData(FlightData.NaN_DATA);
}
// I *think* every FlightConfiguration has at least one associated simulation; just in case I'm wrong,
// if there isn't one we'll create a new simulation to update the statistics in the panel using the
@ -820,7 +820,12 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
if (isCancelled() || backgroundSimulationWorker != this)
return;
backgroundSimulationWorker = null;
// 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);
figure.repaint();
figure3d.repaint();