game_shared: workaround crash on exit (caused by GoldSrc dlclosing client before initializing it)

This commit is contained in:
Alibek Omarov 2023-09-09 04:44:21 +03:00
parent 3c55a584a3
commit d62c5fda47

View File

@ -129,6 +129,8 @@ CVoiceStatus::CVoiceStatus()
m_bTalking = m_bServerAcked = false;
// a1ba: should be safe, it's a simple type
memset(m_Labels, 0, sizeof(m_Labels));
memset(m_pBanButtons, 0, sizeof(m_pBanButtons));
m_bServerModEnable = -1;
@ -138,7 +140,7 @@ CVoiceStatus::CVoiceStatus()
CVoiceStatus::~CVoiceStatus()
{
g_pInternalVoiceStatus = NULL;
for(int i=0; i < MAX_VOICE_SPEAKERS; i++)
{
delete m_Labels[i].m_pLabel;
@ -146,17 +148,17 @@ CVoiceStatus::~CVoiceStatus()
delete m_Labels[i].m_pIcon;
m_Labels[i].m_pIcon = NULL;
delete m_Labels[i].m_pBackground;
m_Labels[i].m_pBackground = NULL;
}
}
delete m_pLocalLabel;
m_pLocalLabel = NULL;
FreeBitmaps();
if(gEngfuncs.pfnGetGameDirectory())
if(gEngfuncs.pfnGetGameDirectory && gEngfuncs.pfnGetGameDirectory())
{
if(m_bBanMgrInitialized)
{