about summary refs log tree commit diff
path: root/src/engine/client/client.cpp
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2011-12-30 19:21:00 +0100
committeroy <Tom_Adams@web.de>2011-12-30 19:21:00 +0100
commitde3e94d9019ac9004e622a6e87535f51017fec46 (patch)
treea4446d049a047ae40ee34467adb3a7c3817d635a /src/engine/client/client.cpp
parentec4bb9453785ba78abc0b42614269fc4d8b11cc6 (diff)
downloadzcatch-de3e94d9019ac9004e622a6e87535f51017fec46.tar.gz
zcatch-de3e94d9019ac9004e622a6e87535f51017fec46.zip
clean up temp commands on logout in the client
Diffstat (limited to 'src/engine/client/client.cpp')
-rw-r--r--src/engine/client/client.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/engine/client/client.cpp b/src/engine/client/client.cpp
index c3bd770c..90cb172d 100644
--- a/src/engine/client/client.cpp
+++ b/src/engine/client/client.cpp
@@ -546,6 +546,7 @@ void CClient::DisconnectWithReason(const char *pReason)
 
 	//
 	m_RconAuthed = 0;
+	m_UseTempRconCommands = 0;
 	m_pConsole->DeregisterTempAll();
 	m_NetClient.Disconnect(pReason);
 	SetState(IClient::STATE_OFFLINE);
@@ -1153,9 +1154,12 @@ void CClient::ProcessServerPacket(CNetChunk *pPacket)
 			int Result = Unpacker.GetInt();
 			if(Unpacker.Error() == 0)
 				m_RconAuthed = Result;
+			int Old = m_UseTempRconCommands;
 			m_UseTempRconCommands = Unpacker.GetInt();
 			if(Unpacker.Error() != 0)
 				m_UseTempRconCommands = 0;
+			if(Old != 0 && m_UseTempRconCommands == 0)
+				m_pConsole->DeregisterTempAll();
 		}
 		else if(Msg == NETMSG_RCON_LINE)
 		{