Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion GeneralsMD/Code/GameEngine/Source/Common/MessageStream.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,15 @@ CommandList *TheCommandList = NULL;
*/
GameMessage::GameMessage( GameMessage::Type type )
{
m_playerIndex = ThePlayerList->getLocalPlayer()->getPlayerIndex();
// Handle early initialization when ThePlayerList might not be initialized yet
if (ThePlayerList && ThePlayerList->getLocalPlayer())
{
m_playerIndex = ThePlayerList->getLocalPlayer()->getPlayerIndex();
}
else
{
m_playerIndex = 0; // Default to player 0 during initialization
}
m_type = type;
m_argList = NULL;
m_argTail = NULL;
Expand Down
10 changes: 8 additions & 2 deletions GeneralsMD/Code/Main/WinMain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,10 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message,

case WM_QUERYENDSESSION:
{
TheMessageStream->appendMessage(GameMessage::MSG_META_DEMO_INSTANT_QUIT);
if (TheMessageStream)
{
TheMessageStream->appendMessage(GameMessage::MSG_META_DEMO_INSTANT_QUIT);
}
return 0; //don't allow Windows to shutdown while game is running.
}

Expand All @@ -378,7 +381,10 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message,

//This method didn't work in cinematics because we don't process messages.
//But it's the cleanest way to exit that's similar to using menus.
TheMessageStream->appendMessage(GameMessage::MSG_META_DEMO_INSTANT_QUIT);
if (TheMessageStream)
{
TheMessageStream->appendMessage(GameMessage::MSG_META_DEMO_INSTANT_QUIT);
}

//This method used to disable quitting. We just put up the options screen instead.
//TheMessageStream->appendMessage(GameMessage::MSG_META_OPTIONS);
Expand Down
Loading