core/smn_usermsgs.cpp
changeset 641 ce1f369ba889
parent 626 ad539443ad7f
child 698 8c68fc683dba
     1.1 --- a/core/smn_usermsgs.cpp	Fri Mar 16 22:50:27 2007 +0000
     1.2 +++ b/core/smn_usermsgs.cpp	Sat Mar 17 00:55:46 2007 +0000
     1.3 @@ -34,6 +34,8 @@
     1.4  	public IHandleTypeDispatch,
     1.5  	public IPluginsListener
     1.6  {
     1.7 +public:
     1.8 +	~UsrMessageNatives();
     1.9  public: //SMGlobalClass, IHandleTypeDispatch, IPluginListener
    1.10  	void OnSourceModAllInitialized();
    1.11  	void OnSourceModShutdown();
    1.12 @@ -47,6 +49,16 @@
    1.13  	CStack<MsgListenerWrapper *> m_FreeListeners;
    1.14  };
    1.15  
    1.16 +UsrMessageNatives::~UsrMessageNatives()
    1.17 +{
    1.18 +	CStack<MsgListenerWrapper *>::iterator iter;
    1.19 +	for (iter=m_FreeListeners.begin(); iter!=m_FreeListeners.end(); iter++)
    1.20 +	{
    1.21 +		delete (*iter);
    1.22 +	}
    1.23 +	m_FreeListeners.popall();
    1.24 +}
    1.25 +
    1.26  void UsrMessageNatives::OnSourceModAllInitialized()
    1.27  {
    1.28  	HandleAccess sec;
    1.29 @@ -70,7 +82,6 @@
    1.30  	g_HandleSys.RemoveType(g_WrBitBufType, g_pCoreIdent);
    1.31  	g_HandleSys.RemoveType(g_RdBitBufType, g_pCoreIdent);
    1.32  
    1.33 -	g_PluginSys.RemovePluginsListener(this);
    1.34  	g_WrBitBufType = 0;
    1.35  	g_RdBitBufType = 0;
    1.36  }