From bb1e1a297feafa02ef9a63728adafad5d8b75624 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 25 Feb 2011 00:55:38 -0600 Subject: [PATCH] try to avoid a crash here, at the expense of it possibly not logging in for some people... please send log info if it happens to you. --- src/ScreenSMOnlineLogin.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/ScreenSMOnlineLogin.cpp b/src/ScreenSMOnlineLogin.cpp index bca827b014..d748d60a0d 100644 --- a/src/ScreenSMOnlineLogin.cpp +++ b/src/ScreenSMOnlineLogin.cpp @@ -116,7 +116,16 @@ void ScreenSMOnlineLogin::HandleScreenMessage(const ScreenMessage SM) else if( SM == SM_SMOnlinePack ) { LOG->Trace("[ScreenSMOnlineLogin::HandleScreenMessage] SMOnlinePack"); - sLoginQuestion = YOU_ARE_LOGGING_ON_AS.GetValue() + "\n" + GAMESTATE->GetPlayerDisplayName((PlayerNumber) m_iPlayer) + "\n" + ENTER_YOUR_PASSWORD.GetValue(); + if(!GAMESTATE->IsPlayerEnabled((PlayerNumber) m_iPlayer)) + { + LOG->Warn("Invalid player number: %i", m_iPlayer); + return; + } + + // This can cause problems in certain situations -aj + sLoginQuestion = YOU_ARE_LOGGING_ON_AS.GetValue() + "\n" + + GAMESTATE->GetPlayerDisplayName((PlayerNumber) m_iPlayer) + "\n" + + ENTER_YOUR_PASSWORD.GetValue(); int ResponseCode = NSMAN->m_SMOnlinePacket.Read1(); if (ResponseCode == 0) {