diff --git a/core/logic/PluginSys.cpp b/core/logic/PluginSys.cpp index 62710dd5..6b6ac493 100644 --- a/core/logic/PluginSys.cpp +++ b/core/logic/PluginSys.cpp @@ -1499,15 +1499,15 @@ void CPluginManager::Purge(CPlugin *plugin) if (plugin->GetStatus() == Plugin_Running) plugin->Call_OnPluginEnd(); + m_pOnNotifyPluginUnloaded->PushCell(plugin->GetMyHandle()); + m_pOnNotifyPluginUnloaded->Execute(NULL); + // Notify listeners of unloading. if (plugin->EnteredSecondPass()) { for (ListenerIter iter(m_listeners); !iter.done(); iter.next()) (*iter)->OnPluginUnloaded(plugin); } - m_pOnNotifyPluginUnloaded->PushCell(plugin->GetMyHandle()); - m_pOnNotifyPluginUnloaded->Execute(NULL); - plugin->DropEverything(); for (ListenerIter iter(m_listeners); !iter.done(); iter.next())