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.

This commit is contained in:
JoePfeiffer 2024-07-08 13:15:29 -06:00
parent 3f013d9d83
commit e1490e0d3d

View File

@ -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();