From 4a5c2bdcb13cd19c95d92c5c654392048e91eeba Mon Sep 17 00:00:00 2001 From: Nomango Date: Mon, 25 Sep 2023 17:47:40 +0800 Subject: [PATCH] fix: native object validate --- src/kiwano/core/RefBasePtr.hpp | 4 ---- src/kiwano/platform/NativeObject.hpp | 7 +++++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/kiwano/core/RefBasePtr.hpp b/src/kiwano/core/RefBasePtr.hpp index cc049a06..6e4a6008 100644 --- a/src/kiwano/core/RefBasePtr.hpp +++ b/src/kiwano/core/RefBasePtr.hpp @@ -106,25 +106,21 @@ public: inline pointer_type operator->() { - KGE_ASSERT(ptr_ != nullptr && "Invalid pointer"); return ptr_; } inline const_pointer_type operator->() const { - KGE_ASSERT(ptr_ != nullptr && "Invalid pointer"); return ptr_; } inline reference_type operator*() { - KGE_ASSERT(ptr_ != nullptr && "Invalid pointer"); return *ptr_; } inline const_reference_type operator*() const { - KGE_ASSERT(ptr_ != nullptr && "Invalid pointer"); return *ptr_; } diff --git a/src/kiwano/platform/NativeObject.hpp b/src/kiwano/platform/NativeObject.hpp index b8f3259b..6f3d77ec 100644 --- a/src/kiwano/platform/NativeObject.hpp +++ b/src/kiwano/platform/NativeObject.hpp @@ -47,6 +47,8 @@ public: void ResetNative(); + bool IsValid() const override; + protected: Any native_; }; @@ -86,4 +88,9 @@ inline void NativeObject::ResetNative() native_.Clear(); } +inline bool NativeObject::IsValid() const +{ + return native_.HasValue() && ObjectBase::IsValid(); +} + } // namespace kiwano