From 8da2166a1e4294afce6934e3470797ff03522a31 Mon Sep 17 00:00:00 2001 From: Nomango Date: Sat, 22 Feb 2020 19:44:50 +0800 Subject: [PATCH] minor fixes --- src/kiwano/core/ObjectBase.cpp | 9 +++++++-- src/kiwano/core/ObjectBase.h | 7 +++---- src/kiwano/platform/win32/WindowImpl.cpp | 1 + 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/kiwano/core/ObjectBase.cpp b/src/kiwano/core/ObjectBase.cpp index bda3f1ca..73774984 100644 --- a/src/kiwano/core/ObjectBase.cpp +++ b/src/kiwano/core/ObjectBase.cpp @@ -34,6 +34,7 @@ uint32_t last_object_id = 0; ObjectBase::ObjectBase() : tracing_leak_(false) + , name_(nullptr) , user_data_() , id_(++last_object_id) { @@ -44,7 +45,11 @@ ObjectBase::ObjectBase() ObjectBase::~ObjectBase() { - name_.reset(); + if (name_) + { + delete name_; + name_ = nullptr; + } #ifdef KGE_DEBUG ObjectBase::RemoveObjectFromTracingList(this); @@ -75,7 +80,7 @@ void ObjectBase::SetName(const String& name) if (!name_) { - name_ = std::make_unique(name); + name_ = new String(name); return; } diff --git a/src/kiwano/core/ObjectBase.h b/src/kiwano/core/ObjectBase.h index b7f01e4e..e1b6e466 100644 --- a/src/kiwano/core/ObjectBase.h +++ b/src/kiwano/core/ObjectBase.h @@ -99,10 +99,9 @@ private: private: const uint32_t id_; - bool tracing_leak_; - Any user_data_; - - std::unique_ptr name_; + bool tracing_leak_; + String* name_; + Any user_data_; }; inline String ObjectBase::GetName() const diff --git a/src/kiwano/platform/win32/WindowImpl.cpp b/src/kiwano/platform/win32/WindowImpl.cpp index 2c1c72c4..543dd238 100644 --- a/src/kiwano/platform/win32/WindowImpl.cpp +++ b/src/kiwano/platform/win32/WindowImpl.cpp @@ -22,6 +22,7 @@ #if defined(KGE_PLATFORM_WINDOWS) +#include #include #include #include