From 1d4d6d501e1797b968d1c6a6d45102810f50f2cb Mon Sep 17 00:00:00 2001 From: Thierry Crozat Date: Sat, 17 Dec 2022 22:10:08 +0100 Subject: [PATCH] AGS: Engine: corrected some of the key evt queue exceeding loops Part of upstream 66738a0c4550ec349dcf45ec39030b56332e1ea8 --- engines/ags/engine/ac/inv_window.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/engines/ags/engine/ac/inv_window.cpp b/engines/ags/engine/ac/inv_window.cpp index 05d06c50e45..0faf37eddb1 100644 --- a/engines/ags/engine/ac/inv_window.cpp +++ b/engines/ags/engine/ac/inv_window.cpp @@ -347,13 +347,16 @@ bool InventoryScreen::Run() { sys_evt_process_pending(); // Handle all the buffered key events + bool do_break = false; while (ags_keyevent_ready()) { KeyInput ki; if (run_service_key_controls(ki) && !_GP(play).IsIgnoringInput()) { ags_clear_input_buffer(); - return false; // end inventory screen loop + do_break = true; // end inventory screen loop } } + if (do_break) + return false; update_audio_system_on_game_loop(); refresh_gui_screen();