Skip to content

Commit 87c471f

Browse files
committed
bugfix(savegame): Add null checks for TheGlobalData before accessing m_headless
1 parent 795a39c commit 87c471f

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

  • GeneralsMD/Code/GameEngine/Source/Common/System/SaveGame

GeneralsMD/Code/GameEngine/Source/Common/System/SaveGame/GameState.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,7 @@ SaveCode GameState::saveGame( AsciiString filename, UnicodeString desc,
564564
xferSave.open( filepath );
565565
} catch(...) {
566566
// print error message to the user
567-
if (!TheGlobalData->m_headless)
567+
if (TheGlobalData && !TheGlobalData->m_headless)
568568
TheInGameUI->message( "GUI:Error" );
569569
DEBUG_LOG(( "Error opening file '%s'", filepath.str() ));
570570
return SC_ERROR;
@@ -595,7 +595,7 @@ SaveCode GameState::saveGame( AsciiString filename, UnicodeString desc,
595595
catch( ... )
596596
{
597597

598-
if (!TheGlobalData->m_headless)
598+
if (TheGlobalData && !TheGlobalData->m_headless)
599599
{
600600
UnicodeString ufilepath;
601601
ufilepath.translate(filepath);
@@ -616,7 +616,7 @@ SaveCode GameState::saveGame( AsciiString filename, UnicodeString desc,
616616
xferSave.close();
617617

618618
// print message to the user for game successfully saved
619-
if (!TheGlobalData->m_headless)
619+
if (TheGlobalData && !TheGlobalData->m_headless)
620620
{
621621
UnicodeString msg = TheGameText->fetch( "GUI:GameSaveComplete" );
622622
TheInGameUI->message( msg );
@@ -727,7 +727,7 @@ SaveCode GameState::loadGame( AvailableGameInfo gameInfo )
727727
TheGameEngine->reset();
728728

729729
// print error message to the user
730-
if (!TheGlobalData->m_headless)
730+
if (TheGlobalData && !TheGlobalData->m_headless)
731731
{
732732
UnicodeString ufilepath;
733733
ufilepath.translate(filepath);
@@ -1384,7 +1384,7 @@ void GameState::xferSaveData( Xfer *xfer, SnapshotType which )
13841384
}
13851385

13861386
// Skip visual-only blocks when saving in headless mode
1387-
if( TheGlobalData->m_headless &&
1387+
if( TheGlobalData && TheGlobalData->m_headless &&
13881388
(blockName.compareNoCase( "CHUNK_TerrainVisual" ) == 0 ||
13891389
blockName.compareNoCase( "CHUNK_TacticalView" ) == 0 ||
13901390
blockName.compareNoCase( "CHUNK_ParticleSystem" ) == 0 ||

0 commit comments

Comments
 (0)