diff --git a/game/screens/__init__.py b/game/screens/__init__.py index 0ca9718..79a5498 100644 --- a/game/screens/__init__.py +++ b/game/screens/__init__.py @@ -79,11 +79,12 @@ def main_loop() -> None: while g.screens: main_draw() for event in tcod.event.wait(): + if event.type == 'WindowClose': + raise SystemExit() tile_event = g.context.convert_event(event) if g.screens: _apply_screen_result(g.screens[-1].on_event(tile_event)) - if isinstance(event, tcod.event.Quit): - g.screens.pop() + def get_previous_screen(screen: Screen) -> Screen | None: """Return the screen before `screen` in the stack if it exists."""