From e1490e0d3dc2cb3f8b61f34701c717f78b3dc057 Mon Sep 17 00:00:00 2001 From: JoePfeiffer Date: Mon, 8 Jul 2024 13:15:29 -0600 Subject: [PATCH] Initialize sim extensions before adding system-defined listeners to the sim listener list. This has the effect of running the user-defined listeners before evaluating custom expressions, so custom expressions can use the results from the user-defined listeners. --- .../java/info/openrocket/core/document/Simulation.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/info/openrocket/core/document/Simulation.java b/core/src/main/java/info/openrocket/core/document/Simulation.java index 3ec5ae0f3..3becacabe 100644 --- a/core/src/main/java/info/openrocket/core/document/Simulation.java +++ b/core/src/main/java/info/openrocket/core/document/Simulation.java @@ -419,14 +419,15 @@ public class Simulation implements ChangeSource, Cloneable { SimulationConditions simulationConditions = options.toSimulationConditions(); simulationConditions.setSimulation(this); - for (SimulationListener l : additionalListeners) { - simulationConditions.getSimulationListenerList().add(l); - } for (SimulationExtension extension : simulationExtensions) { extension.initialize(simulationConditions); } + for (SimulationListener l : additionalListeners) { + simulationConditions.getSimulationListenerList().add(l); + } + long t1, t2; log.debug("Simulation: calling simulator"); t1 = System.currentTimeMillis();