diff --git a/Generals/Code/GameEngine/Source/Common/System/SaveGame/GameState.cpp b/Generals/Code/GameEngine/Source/Common/System/SaveGame/GameState.cpp index 3338c981e04..2e83b3ed106 100644 --- a/Generals/Code/GameEngine/Source/Common/System/SaveGame/GameState.cpp +++ b/Generals/Code/GameEngine/Source/Common/System/SaveGame/GameState.cpp @@ -712,6 +712,9 @@ SaveCode GameState::loadGame( AvailableGameInfo gameInfo ) TheGameLogic->clearGameData( FALSE ); TheGameEngine->reset(); + // TheSuperHackers @bugfix bobtista 11/10/2026 Prevent a failed save load from leaving the quit menu disabled. + TheGameLogic->setLoadingSave( FALSE ); + return SC_INVALID_DATA; // you can't use a naked "throw" outside of a catch statement! } diff --git a/GeneralsMD/Code/GameEngine/Source/Common/System/SaveGame/GameState.cpp b/GeneralsMD/Code/GameEngine/Source/Common/System/SaveGame/GameState.cpp index 17b73805824..457558620df 100644 --- a/GeneralsMD/Code/GameEngine/Source/Common/System/SaveGame/GameState.cpp +++ b/GeneralsMD/Code/GameEngine/Source/Common/System/SaveGame/GameState.cpp @@ -712,6 +712,9 @@ SaveCode GameState::loadGame( AvailableGameInfo gameInfo ) TheGameLogic->clearGameData( FALSE ); TheGameEngine->reset(); + // TheSuperHackers @bugfix bobtista 11/10/2026 Prevent a failed save load from leaving the quit menu disabled. + TheGameLogic->setLoadingSave( FALSE ); + return SC_INVALID_DATA; // you can't use a naked "throw" outside of a catch statement! }