mirror of
https://github.com/alliedmodders/metamod-source.git
synced 2025-02-20 13:54:14 +01:00
Hopefully fixed crashing when unregistering ConCommands and ConVars
--HG-- extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%4066
This commit is contained in:
parent
8ba6224916
commit
c336ea0818
@ -93,8 +93,13 @@ IConCommandBaseAccessor *CSmmAPI::GetCvarBaseAccessor()
|
||||
return static_cast<IConCommandBaseAccessor *>(&g_SMConVarAccessor);
|
||||
}
|
||||
|
||||
void CSmmAPI::UnregisterCvar(ConCommandBase *pCvar)
|
||||
bool CSmmAPI::RegisterConCmdBase(ConCommandBase *pCommand)
|
||||
{
|
||||
g_SMConVarAccessor.Unregister(pCvar);
|
||||
return g_SMConVarAccessor.RegisterConCommandBase(pCommand);
|
||||
}
|
||||
|
||||
void CSmmAPI::UnregisterConCmdBase(ConCommandBase *pCommand)
|
||||
{
|
||||
g_SMConVarAccessor.Unregister(pCommand);
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,8 @@ namespace SourceMM
|
||||
void SetLastMetaReturn(META_RES res);
|
||||
META_RES GetLastMetaReturn();
|
||||
IConCommandBaseAccessor *GetCvarBaseAccessor();
|
||||
void UnregisterCvar(ConCommandBase *pCvar);
|
||||
bool RegisterConCmdBase(ConCommandBase *pCommand);
|
||||
void UnregisterConCmdBase(ConCommandBase *pCommand);
|
||||
private:
|
||||
META_RES m_Res;
|
||||
};
|
||||
|
@ -42,7 +42,8 @@ public:
|
||||
public:
|
||||
//Added in 1.00-RC2 to solve concommand problems
|
||||
virtual IConCommandBaseAccessor *GetCvarBaseAccessor() =0;
|
||||
virtual void UnregisterCvar(ConCommandBase *pCvar) =0;
|
||||
virtual bool RegisterConCmdBase(ConCommandBase *pCommand) =0;
|
||||
virtual void UnregisterConCmdBase(ConCommandBase *pCommand) =0;
|
||||
};
|
||||
|
||||
#endif //_INCLUDE_ISMM_API_H
|
||||
|
@ -69,6 +69,8 @@ void SMConVarAccessor::Unregister(ConCommandBase *pCvar)
|
||||
ptr->SetNext(const_cast<ConCommandBase *>(pCvar->GetNext()));
|
||||
pCvar->SetNext(NULL);
|
||||
}
|
||||
|
||||
m_RegisteredCommands.remove(pCvar);
|
||||
}
|
||||
|
||||
ConVar metamod_version("metamod_version", SOURCEMM_VERSION, FCVAR_REPLICATED | FCVAR_SPONLY, "Metamod:Source Version");
|
||||
|
Loading…
x
Reference in New Issue
Block a user