From d57498be108f32dc59d0463f49bfbf2cf56472cb Mon Sep 17 00:00:00 2001 From: Lynix Date: Wed, 11 Jan 2017 19:13:40 +0100 Subject: [PATCH] Sdk/BaseWidget: Widget::Add now returns a pointer (easier to use) --- SDK/include/NDK/BaseWidget.hpp | 2 +- SDK/include/NDK/BaseWidget.inl | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SDK/include/NDK/BaseWidget.hpp b/SDK/include/NDK/BaseWidget.hpp index 9ec787890..e2fe6d438 100644 --- a/SDK/include/NDK/BaseWidget.hpp +++ b/SDK/include/NDK/BaseWidget.hpp @@ -32,7 +32,7 @@ namespace Ndk BaseWidget(BaseWidget&&) = default; virtual ~BaseWidget(); - template T& Add(Args&&... args); + template T* Add(Args&&... args); inline void AddChild(std::unique_ptr&& widget); inline void Center(); diff --git a/SDK/include/NDK/BaseWidget.inl b/SDK/include/NDK/BaseWidget.inl index 4bc1be8b3..aa2b222b6 100644 --- a/SDK/include/NDK/BaseWidget.inl +++ b/SDK/include/NDK/BaseWidget.inl @@ -18,13 +18,13 @@ namespace Ndk } template - inline T& BaseWidget::Add(Args&&... args) + inline T* BaseWidget::Add(Args&&... args) { std::unique_ptr widget = std::make_unique(this, std::forward(args)...); - T& widgetRef = *widget; + T* widgetPtr = widget.get(); AddChild(std::move(widget)); - return widgetRef; + return widgetPtr; } inline void BaseWidget::AddChild(std::unique_ptr&& widget)