@@ -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