aboutsummaryrefslogtreecommitdiff
path: root/src/ui/host/WindowHost.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/host/WindowHost.cpp')
-rw-r--r--src/ui/host/WindowHost.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/ui/host/WindowHost.cpp b/src/ui/host/WindowHost.cpp
index 2d09a895..4373afe9 100644
--- a/src/ui/host/WindowHost.cpp
+++ b/src/ui/host/WindowHost.cpp
@@ -115,19 +115,17 @@ WindowHost::WindowHost(controls::Control* root_control)
this->layout_paint_cycler_ = std::make_unique<LayoutPaintCycler>(this);
- CreateNativeWindow();
+ native_window_ = CreateNativeWindow();
}
-WindowHost::~WindowHost() { delete native_window_; }
+WindowHost::~WindowHost() {}
-gsl::not_null<platform::gui::INativeWindow*> WindowHost::CreateNativeWindow() {
+std::unique_ptr<platform::gui::INativeWindow> WindowHost::CreateNativeWindow() {
const auto ui_application = IUiApplication::GetInstance();
auto native_window = ui_application->CreateWindow();
Ensures(native_window);
- native_window_ = native_window;
-
BindNativeEvent(this, native_window, native_window->DestroyEvent(),
&WindowHost::OnNativeDestroy, event_revoker_guards_);
BindNativeEvent(this, native_window, native_window->PaintEvent(),
@@ -153,7 +151,7 @@ gsl::not_null<platform::gui::INativeWindow*> WindowHost::CreateNativeWindow() {
native_window_change_event_.Raise(native_window);
- return native_window_;
+ return std::unique_ptr<INativeWindow>(native_window);
}
void WindowHost::InvalidatePaint() { layout_paint_cycler_->InvalidatePaint(); }