diff -r 2a83a521287c -r 8e8b28162e23 core/systems/PluginSys.cpp --- a/core/systems/PluginSys.cpp Wed Jun 11 08:07:17 2008 +0000 +++ b/core/systems/PluginSys.cpp Wed Jun 11 08:28:34 2008 +0000 @@ -2011,11 +2011,10 @@ CPlugin *pl; int id = 1; - IPluginIterator *iter = GetPluginIterator(); - for (; iter->MorePlugins() && idNextPlugin(), id++) {} + SourceHook::List::iterator iter; + for (iter = m_plugins.begin(); iter != m_plugins.end() && id < num; iter++, id++) {} - pl = (CPlugin *)(iter->GetPlugin()); - iter->Release(); + pl = *iter; return pl; } @@ -2068,7 +2067,7 @@ SourceHook::List::iterator iter; SourceHook::List m_FailList; - for (iter = m_plugins.begin(); iter != m_plugins.end(); iter++) + for (iter = m_plugins.begin(); iter != m_plugins.end(); iter++, id++) { pl = (*iter); assert(pl->GetStatus() != Plugin_Created);