game_shared: workaround crash on exit (caused by GoldSrc dlclosing client before initializing it)
This commit is contained in:
parent
3c55a584a3
commit
d62c5fda47
@ -129,6 +129,8 @@ CVoiceStatus::CVoiceStatus()
|
|||||||
|
|
||||||
m_bTalking = m_bServerAcked = false;
|
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));
|
memset(m_pBanButtons, 0, sizeof(m_pBanButtons));
|
||||||
|
|
||||||
m_bServerModEnable = -1;
|
m_bServerModEnable = -1;
|
||||||
@ -138,7 +140,7 @@ CVoiceStatus::CVoiceStatus()
|
|||||||
CVoiceStatus::~CVoiceStatus()
|
CVoiceStatus::~CVoiceStatus()
|
||||||
{
|
{
|
||||||
g_pInternalVoiceStatus = NULL;
|
g_pInternalVoiceStatus = NULL;
|
||||||
|
|
||||||
for(int i=0; i < MAX_VOICE_SPEAKERS; i++)
|
for(int i=0; i < MAX_VOICE_SPEAKERS; i++)
|
||||||
{
|
{
|
||||||
delete m_Labels[i].m_pLabel;
|
delete m_Labels[i].m_pLabel;
|
||||||
@ -146,17 +148,17 @@ CVoiceStatus::~CVoiceStatus()
|
|||||||
|
|
||||||
delete m_Labels[i].m_pIcon;
|
delete m_Labels[i].m_pIcon;
|
||||||
m_Labels[i].m_pIcon = NULL;
|
m_Labels[i].m_pIcon = NULL;
|
||||||
|
|
||||||
delete m_Labels[i].m_pBackground;
|
delete m_Labels[i].m_pBackground;
|
||||||
m_Labels[i].m_pBackground = NULL;
|
m_Labels[i].m_pBackground = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
delete m_pLocalLabel;
|
delete m_pLocalLabel;
|
||||||
m_pLocalLabel = NULL;
|
m_pLocalLabel = NULL;
|
||||||
|
|
||||||
FreeBitmaps();
|
FreeBitmaps();
|
||||||
|
|
||||||
if(gEngfuncs.pfnGetGameDirectory())
|
if(gEngfuncs.pfnGetGameDirectory && gEngfuncs.pfnGetGameDirectory())
|
||||||
{
|
{
|
||||||
if(m_bBanMgrInitialized)
|
if(m_bBanMgrInitialized)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user