Cleanly remove all hooks on extension unload

Allows to e.g. reload sdktools during runtime without crashing. Useful for fast development cycles.
This commit is contained in:
Peace-Maker
2020-12-16 15:52:48 +01:00
committed by peace-maker
parent e59fd9de96
commit ba8753836e
8 changed files with 109 additions and 14 deletions
+1 -6
View File
@@ -846,11 +846,7 @@ CPluginManager::~CPluginManager()
void CPluginManager::Shutdown()
{
List<CPlugin *>::iterator iter;
for (PluginIter iter(m_plugins); !iter.done(); iter.next()) {
UnloadPlugin(*iter);
}
UnloadAll();
}
void CPluginManager::LoadAll(const char *config_path, const char *plugins_path)
@@ -2208,7 +2204,6 @@ void CPluginManager::UnloadAll()
int CPluginManager::GetOrderOfPlugin(IPlugin *pl)
{
int id = 1;
List<CPlugin *>::iterator iter;
for (PluginIter iter(m_plugins); !iter.done(); iter.next()) {
if ((*iter) == pl)