diff options
Diffstat (limited to 'src/platform/gui/sdl/Window.cpp')
| -rw-r--r-- | src/platform/gui/sdl/Window.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/platform/gui/sdl/Window.cpp b/src/platform/gui/sdl/Window.cpp index b0fcded4..3ab8cf4d 100644 --- a/src/platform/gui/sdl/Window.cpp +++ b/src/platform/gui/sdl/Window.cpp @@ -18,6 +18,8 @@ namespace cru::platform::gui::sdl { SdlWindow::SdlWindow(SdlUiApplication* application) : application_(application), + sdl_window_(nullptr), + sdl_window_id_(0), client_rect_(100, 100, 400, 200), parent_(nullptr) { application->RegisterWindow(this); @@ -214,6 +216,11 @@ void SdlWindow::DoCreateWindow() { throw SdlException("Failed to create window."); } + sdl_window_id_ = SDL_GetWindowID(sdl_window_); + if (sdl_window_id_ == 0) { + throw SdlException("Failed to get ID of created window."); + } + CreateEvent_.Raise(nullptr); CheckSdlReturn( @@ -309,6 +316,7 @@ bool SdlWindow::HandleEvent(const SDL_Event* event) { VisibilityChangeEvent_.Raise(WindowVisibilityType::Hide); DestroyEvent_.Raise(nullptr); sdl_window_ = nullptr; + sdl_window_id_ = 0; return true; } case SDL_EVENT_MOUSE_BUTTON_DOWN: { |
