diff options
author | crupest <crupest@outlook.com> | 2022-02-08 21:15:31 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-02-08 21:15:31 +0800 |
commit | 5d7dcef619bd1f866684b57351dde2efbda6959c (patch) | |
tree | ab63bd149854ce0cf4cad338dd962e5ea613010b /src/ui/host | |
parent | fa1764d7cb77aa683c6049f915a46b981f9161f7 (diff) | |
download | cru-5d7dcef619bd1f866684b57351dde2efbda6959c.tar.gz cru-5d7dcef619bd1f866684b57351dde2efbda6959c.tar.bz2 cru-5d7dcef619bd1f866684b57351dde2efbda6959c.zip |
...
Diffstat (limited to 'src/ui/host')
-rw-r--r-- | src/ui/host/WindowHost.cpp | 10 |
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(); } |