From e91ca8d6ecfecc0e6aeba37da6f1ccd6da621ccc Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Thu, 17 Aug 2023 16:00:10 -0600 Subject: [PATCH] simple change to allow AsyncEmbeddedScript2 to unwind stack --- src/kiss/AsyncEmbeddedScript2.hx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/kiss/AsyncEmbeddedScript2.hx b/src/kiss/AsyncEmbeddedScript2.hx index a440fd5..fbdacd3 100644 --- a/src/kiss/AsyncEmbeddedScript2.hx +++ b/src/kiss/AsyncEmbeddedScript2.hx @@ -167,6 +167,8 @@ class AsyncEmbeddedScript2 { public var running(default, null):Bool = false; + public var unwindStack(default, default):Bool = false; + private function runInstruction(instructionPointer:Int, withBreakPoints = true) { running = true; var skipping = false; @@ -193,7 +195,13 @@ class AsyncEmbeddedScript2 { // When this happens, make sure other scheduled continuations are canceled // by verifying that lastInstructionPointer hasn't changed if (lastInstructionPointer == instructionPointer) { - runInstruction(instructionPointer + 1, withBreakPoints); + if (unwindStack) { + haxe.Timer.delay(()->{runInstruction(instructionPointer + 1, withBreakPoints);}, 0); + return; + } + else { + runInstruction(instructionPointer + 1, withBreakPoints); + } } }; } else {