diff --git a/src/game/client/menu.h b/src/game/client/menu.h index 80f14eae70..fb813f1ac0 100644 --- a/src/game/client/menu.h +++ b/src/game/client/menu.h @@ -41,6 +41,10 @@ class CHudMenu : public CHudElement, public vgui::Panel bool IsMenuOpen( void ); void SelectMenuItem( int menu_item ); +#ifdef MAPBASE + bool IsMenuMapDefined() const { return m_bMapDefinedMenu; } +#endif + private: virtual void OnThink(); virtual void Paint(); diff --git a/src/game/client/voice_menu.cpp b/src/game/client/voice_menu.cpp index c583634961..e9f4c544ec 100644 --- a/src/game/client/voice_menu.cpp +++ b/src/game/client/voice_menu.cpp @@ -50,6 +50,12 @@ void OpenVoiceMenu( int index ) if ( !pMenu ) return; +#ifdef MAPBASE + // Don't override map-defined menus + if ( pMenu->IsMenuMapDefined() && pMenu->IsMenuOpen() ) + return; +#endif + // if they hit the key again, close the menu if ( g_ActiveVoiceMenu == index ) {