Application: fix handling of canceled when onExit is dispatched

This commit is contained in:
Josh Tynjala
2023-04-10 13:31:02 -07:00
parent 82ec709831
commit 906492a5b1

View File

@@ -514,7 +514,7 @@ class Application extends Module
{ {
application.onUpdate.add(update); application.onUpdate.add(update);
application.onExit.add(onModuleExit, false, 0); application.onExit.add(onModuleExit, false, 0);
application.onExit.add(__onModuleExit, false, 0); application.onExit.add(__onModuleExit, false, -1000);
for (gamepad in Gamepad.devices) for (gamepad in Gamepad.devices)
{ {
@@ -590,6 +590,10 @@ class Application extends Module
@:noCompletion private function __onModuleExit(code:Int):Void @:noCompletion private function __onModuleExit(code:Int):Void
{ {
if (onExit.canceled)
{
return;
}
__backend.exit(); __backend.exit();
if (Application.current == this) if (Application.current == this)
{ {