From 40d97184b3c5fad8aa37ac8c68fb9e9f58b05ec8 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 5 Oct 2014 05:26:35 +0200 Subject: [PATCH] Fix edge case where if core was paused before entering menu and we try to leave the menu again, it will get stuck on a pause screen until you toggle the menu again. Now the 'flush input' routine will automatically evoke the pause toggle to get it 'unstuck'. --- runloop.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/runloop.c b/runloop.c index 4023dad8a4..ea7f9a0bc3 100644 --- a/runloop.c +++ b/runloop.c @@ -703,7 +703,15 @@ int rarch_main_iterate(void) if (driver.flushing_input) { if (input) + { input = 0; + /* If core was paused before + * entering menu, evoke + * pause toggle to wake it up. + */ + if (g_extern.is_paused) + input |= (1ULL << RARCH_PAUSE_TOGGLE); + } else driver.flushing_input = false; }