diff --git a/core/systems/PluginSys.cpp b/core/systems/PluginSys.cpp index 5e0f439ce..bf6c7e0ef 100644 --- a/core/systems/PluginSys.cpp +++ b/core/systems/PluginSys.cpp @@ -2011,11 +2011,10 @@ CPlugin *CPluginManager::GetPluginByOrder(int num) 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 @@ void CPluginManager::OnRootConsoleCommand(const char *cmdname, const CCommand &c 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);