diff --git a/plugins/builtin/include/content/providers/null_provider.hpp b/plugins/builtin/include/content/providers/null_provider.hpp index 9658fa71e..ff3a3e328 100644 --- a/plugins/builtin/include/content/providers/null_provider.hpp +++ b/plugins/builtin/include/content/providers/null_provider.hpp @@ -1,13 +1,24 @@ #pragma once #include +#include namespace hex::plugin::builtin { class NullProvider : public hex::prv::Provider { public: - explicit NullProvider() = default; - ~NullProvider() override = default; + NullProvider() { + EventManager::subscribe([this](auto *newProvider) { + if (newProvider == this) + return; + + ImHexApi::Provider::remove(this, true); + }); + } + + ~NullProvider() override { + EventManager::unsubscribe(this); + } [[nodiscard]] bool isAvailable() const override { return true; } [[nodiscard]] bool isReadable() const override { return true; }