From 6aff0544652cea94dc86d9fed01260b98104ba17 Mon Sep 17 00:00:00 2001 From: hneemann Date: Mon, 9 Nov 2020 18:30:44 +0100 Subject: [PATCH] fixes a null pointer exception --- src/main/java/de/neemann/digital/gui/Main.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/neemann/digital/gui/Main.java b/src/main/java/de/neemann/digital/gui/Main.java index 706f44706..cc8c17b4c 100644 --- a/src/main/java/de/neemann/digital/gui/Main.java +++ b/src/main/java/de/neemann/digital/gui/Main.java @@ -1413,7 +1413,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS if (updateEvent == ModelEventType.MICROSTEP) { checkMicroStepActions(model); - model.addObserver(new MicroStepObserver(model)); + model.addObserver(new MicroStepObserver(model, modelCreator)); } else if (updateEvent == ModelEventType.STEP) { if (maxFrequency <= 50) model.addObserver(new FullStepObserver(model)); @@ -1667,10 +1667,10 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS /** * Updates the graphic at every 100ms */ - private class FastObserver implements ModelStateObserverTyped { + private final class FastObserver implements ModelStateObserverTyped { private final Timer timer; - FastObserver() { + private FastObserver() { timer = new Timer(100, actionEvent -> circuitComponent.graphicHasChanged()); } @@ -1697,11 +1697,13 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS /** * Updates the graphic at every micro step */ - private class MicroStepObserver implements ModelStateObserverTyped { + private final class MicroStepObserver implements ModelStateObserverTyped { private final Model model; + private final ModelCreator modelCreator; - MicroStepObserver(Model model) { + private MicroStepObserver(Model model, ModelCreator modelCreator) { this.model = model; + this.modelCreator = modelCreator; } @Override