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