diff --git a/sc2/src/sc2code/confirm.c b/sc2/src/sc2code/confirm.c index 91ebeae84..6497d7ecf 100644 --- a/sc2/src/sc2code/confirm.c +++ b/sc2/src/sc2code/confirm.c @@ -149,6 +149,8 @@ DoConfirmExit (void) GameExiting = FALSE; GLOBAL (CurrentActivity) &= ~CHECK_ABORT; } + ExitRequested = FALSE; + GamePaused = FALSE; FlushInput (); SetContext (oldContext); } diff --git a/sc2/src/sc2code/restart.c b/sc2/src/sc2code/restart.c index 59433cd60..4b48b36b1 100644 --- a/sc2/src/sc2code/restart.c +++ b/sc2/src/sc2code/restart.c @@ -84,6 +84,11 @@ DWORD InTime; static BOOLEAN DoRestart (PMENU_STATE pMS) { + /* Cancel any presses of the Pause or Exit keys. */ + GamePaused = FALSE; + ExitRequested = FALSE; + + if (!pMS->Initialized) { DrawRestartMenu ((BYTE)~0, pMS->CurState, pMS->CurFrame); @@ -130,10 +135,6 @@ else if (InputState & DEVICE_EXIT) return (FALSE); SetFlashRect (NULL_PTR, (FRAME)0); ClearSemaphore (GraphicsSem); - /* Cancel any presses of the Pause or Exit keys. */ - GamePaused = FALSE; - ExitRequested = FALSE; - return (FALSE); } else