From 8011c094c7f8747eee84bc31fe9e8bd8fd185445 Mon Sep 17 00:00:00 2001 From: GeorgH93 Date: Thu, 3 Dec 2020 21:01:11 +0100 Subject: [PATCH] Mark invalid weakptr event handlers as invalid --- openVulkanoCpp/Base/Event.hpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/openVulkanoCpp/Base/Event.hpp b/openVulkanoCpp/Base/Event.hpp index 0e393ba..45c8cdd 100644 --- a/openVulkanoCpp/Base/Event.hpp +++ b/openVulkanoCpp/Base/Event.hpp @@ -45,9 +45,9 @@ namespace openVulkanoCpp virtual void Notify(Arguments... args) const = 0; - bool IsInvalid() const { return invalid; } + [[nodiscard]] bool IsInvalid() const { return invalid; } - void SetInvalid() override { invalid = true; } + void SetInvalid() final { invalid = true; } }; class StaticEventHandler final : public EventHandler @@ -130,6 +130,10 @@ namespace openVulkanoCpp { (instancePtr.get()->*method)(args...); } + else + { + const_cast(this)->SetInvalid(); + } } protected: