diff options
Diffstat (limited to 'src/win/native/ui_application.cpp')
-rw-r--r-- | src/win/native/ui_application.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/win/native/ui_application.cpp b/src/win/native/ui_application.cpp index f3a7f1dc..0ae8ee81 100644 --- a/src/win/native/ui_application.cpp +++ b/src/win/native/ui_application.cpp @@ -24,6 +24,12 @@ WinUiApplication::WinUiApplication() { } instance = this; + IUiApplication::instance = this; + + instance_handle_ = ::GetModuleHandleW(nullptr); + if (!instance_handle_) + throw Win32Error(::GetLastError(), + "Failed to get module(instance) handle."); log::Logger::GetInstance()->AddSource( std::make_unique<::cru::platform::win::WinDebugLoggerSource>()); @@ -37,7 +43,10 @@ WinUiApplication::WinUiApplication() { cursor_manager_ = std::make_unique<WinCursorManager>(); } -WinUiApplication::~WinUiApplication() { instance = nullptr; } +WinUiApplication::~WinUiApplication() { + IUiApplication::instance = nullptr; + instance = nullptr; +} int WinUiApplication::Run() { MSG msg; |