diff --git a/src/main/java/com/volmit/iris/core/gui/VisionGUI.java b/src/main/java/com/volmit/iris/core/gui/VisionGUI.java index 031b6f4b7..bef6a879a 100644 --- a/src/main/java/com/volmit/iris/core/gui/VisionGUI.java +++ b/src/main/java/com/volmit/iris/core/gui/VisionGUI.java @@ -168,14 +168,13 @@ public class VisionGUI extends JPanel implements MouseWheelListener, KeyListener try { engine = IrisWorlds.access(world.realWorld()).getCompound().getEngine(index); + return !engine.isClosed(); } catch(Throwable e) { - engine = IrisWorlds.access(world.realWorld()).getCompound().getDefaultEngine(); - } - return true; + } } } diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineTarget.java b/src/main/java/com/volmit/iris/engine/framework/EngineTarget.java index be0b53661..b992f8df5 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineTarget.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineTarget.java @@ -55,7 +55,7 @@ public class EngineTarget { } public void close() { - parallaxBurster.shutdownAndAwait(); - burster.shutdownAndAwait(); + parallaxBurster.shutdownLater(); + burster.shutdownLater(); } } diff --git a/src/main/java/com/volmit/iris/engine/parallel/MultiBurst.java b/src/main/java/com/volmit/iris/engine/parallel/MultiBurst.java index d808b2dc5..cafb73b12 100644 --- a/src/main/java/com/volmit/iris/engine/parallel/MultiBurst.java +++ b/src/main/java/com/volmit/iris/engine/parallel/MultiBurst.java @@ -21,6 +21,7 @@ package com.volmit.iris.engine.parallel; import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.util.collection.KList; +import com.volmit.iris.util.scheduling.J; import java.util.concurrent.*; @@ -96,6 +97,10 @@ public class MultiBurst { service.shutdown(); } + public void shutdownLater() { + J.a(service::shutdown, 100); + } + public void shutdownAndAwait() { service.shutdown();