diff options
| author | Vaxry <vaxry@vaxry.net> | 2024-04-22 15:50:01 +0100 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2024-04-22 15:50:23 +0100 |
| commit | e91513a5e8953cfbb69320d94e495ccf2d4d58f3 (patch) | |
| tree | bf6d71e992e7b84b22e1c5c689169fb0393027be /src/plugins/PluginSystem.hpp | |
| parent | 450343b7b83ba659f6a932092aff922cc1cddd2b (diff) | |
pluginapi: unregister callbacks on lost ptrs
Diffstat (limited to 'src/plugins/PluginSystem.hpp')
| -rw-r--r-- | src/plugins/PluginSystem.hpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/plugins/PluginSystem.hpp b/src/plugins/PluginSystem.hpp index c618489a..944434fa 100644 --- a/src/plugins/PluginSystem.hpp +++ b/src/plugins/PluginSystem.hpp @@ -8,22 +8,22 @@ class IHyprWindowDecoration; class CPlugin { public: - std::string name = ""; - std::string description = ""; - std::string author = ""; - std::string version = ""; + std::string name = ""; + std::string description = ""; + std::string author = ""; + std::string version = ""; - std::string path = ""; + std::string path = ""; - bool m_bLoadedWithConfig = false; + bool m_bLoadedWithConfig = false; - HANDLE m_pHandle = nullptr; + HANDLE m_pHandle = nullptr; - std::vector<IHyprLayout*> registeredLayouts; - std::vector<IHyprWindowDecoration*> registeredDecorations; - std::vector<std::pair<std::string, std::shared_ptr<HOOK_CALLBACK_FN>>> registeredCallbacks; - std::vector<std::string> registeredDispatchers; - std::vector<std::shared_ptr<SHyprCtlCommand>> registeredHyprctlCommands; + std::vector<IHyprLayout*> registeredLayouts; + std::vector<IHyprWindowDecoration*> registeredDecorations; + std::vector<std::pair<std::string, std::weak_ptr<HOOK_CALLBACK_FN>>> registeredCallbacks; + std::vector<std::string> registeredDispatchers; + std::vector<std::shared_ptr<SHyprCtlCommand>> registeredHyprctlCommands; }; class CPluginSystem { |
