From 60386df00fc810a4b7d1981c5c0fd0d51b13694f Mon Sep 17 00:00:00 2001 From: David Anderson Date: Wed, 23 May 2007 16:56:24 +0000 Subject: [PATCH] fixed a bug where disconnected clients did not have their menus cancelled for radio style menus --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40852 --- core/MenuStyle_Radio.cpp | 7 +++++++ core/MenuStyle_Radio.h | 1 + 2 files changed, 8 insertions(+) diff --git a/core/MenuStyle_Radio.cpp b/core/MenuStyle_Radio.cpp index cb588fb1c..c8f75a697 100644 --- a/core/MenuStyle_Radio.cpp +++ b/core/MenuStyle_Radio.cpp @@ -16,6 +16,7 @@ #include "sm_stringutil.h" #include "UserMessages.h" #include "GameConfigs.h" +#include "PlayerManager.h" extern const char *g_RadioNumTable[]; CRadioStyle g_RadioMenuStyle; @@ -26,6 +27,11 @@ CRadioStyle::CRadioStyle() : m_players(new CBaseMenuPlayer[256+1]) { } +void CRadioStyle::OnSourceModAllInitialized() +{ + g_Players.AddClientListener(this); +} + void CRadioStyle::OnSourceModLevelChange(const char *mapName) { if (g_bRadioInit) @@ -55,6 +61,7 @@ void CRadioStyle::OnSourceModLevelChange(const char *mapName) void CRadioStyle::OnSourceModShutdown() { + g_Players.RemoveClientListener(this); g_UserMsgs.UnhookUserMessage(g_ShowMenuId, this, false); while (!m_FreeDisplays.empty()) diff --git a/core/MenuStyle_Radio.h b/core/MenuStyle_Radio.h index 1c86778fa..d19dc245d 100644 --- a/core/MenuStyle_Radio.h +++ b/core/MenuStyle_Radio.h @@ -37,6 +37,7 @@ class CRadioStyle : public: CRadioStyle(); public: //SMGlobalClass + void OnSourceModAllInitialized(); void OnSourceModLevelChange(const char *mapName); void OnSourceModShutdown(); public: //BaseMenuStyle