core/systems/ForwardSys.cpp
changeset 641 ce1f369ba889
parent 621 5a0f5014aac1
child 653 ef60870067ff
     1.1 --- a/core/systems/ForwardSys.cpp	Fri Mar 16 22:50:27 2007 +0000
     1.2 +++ b/core/systems/ForwardSys.cpp	Sat Mar 17 00:55:46 2007 +0000
     1.3 @@ -32,17 +32,22 @@
     1.4  // :TODO: IMPORTANT!!! The result pointer arg in the execute function maybe invalid if the forward fails
     1.5  // so later evaluation of this result may cause problems on higher levels of abstraction. DOCUMENT OR FIX ALL FORWARDS!
     1.6  
     1.7 +CForwardManager::~CForwardManager()
     1.8 +{
     1.9 +	CStack<CForward *>::iterator iter;
    1.10 +	for (iter=m_FreeForwards.begin(); iter!=m_FreeForwards.end(); iter++)
    1.11 +	{
    1.12 +		delete (*iter);
    1.13 +	}
    1.14 +	m_FreeForwards.popall();
    1.15 +}
    1.16 +
    1.17  void CForwardManager::OnSourceModAllInitialized()
    1.18  {
    1.19  	g_PluginSys.AddPluginsListener(this);
    1.20  	g_ShareSys.AddInterface(NULL, this);
    1.21  }
    1.22  
    1.23 -void CForwardManager::OnSourceModShutdown()
    1.24 -{
    1.25 -	g_PluginSys.RemovePluginsListener(this);
    1.26 -}
    1.27 -
    1.28  IForward *CForwardManager::CreateForward(const char *name, ExecType et, unsigned int num_params, const ParamType *types, ...)
    1.29  {
    1.30  	CForward *fwd;