From dafc9ed4eb225e87d09cc92273dd390b8a15dbd0 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Mon, 22 Apr 2024 15:57:03 +0100 Subject: [PATCH] pluginsystem: fix unhooking on exit --- src/plugins/PluginSystem.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/PluginSystem.cpp b/src/plugins/PluginSystem.cpp index 95a82dde..1703222b 100644 --- a/src/plugins/PluginSystem.cpp +++ b/src/plugins/PluginSystem.cpp @@ -96,8 +96,10 @@ void CPluginSystem::unloadPlugin(const CPlugin* plugin, bool eject) { exitFunc(); } - for (auto& [k, v] : plugin->registeredCallbacks) - g_pHookSystem->unhook(v); + for (auto& [k, v] : plugin->registeredCallbacks) { + if (const auto SP = v.lock()) + g_pHookSystem->unhook(SP); + } const auto ls = plugin->registeredLayouts; for (auto& l : ls)