From de3f9cc8cc2f0e0c388dc96ae7d60ab249a244ff Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sun, 30 Aug 2020 08:51:55 +0300 Subject: [PATCH] Make sure app::on_resize gets called at least once --- libs/app/source/app.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libs/app/source/app.cpp b/libs/app/source/app.cpp index 337e3614..de2b2232 100644 --- a/libs/app/source/app.cpp +++ b/libs/app/source/app.cpp @@ -41,6 +41,8 @@ namespace psemek::app bool running = false; + bool had_initial_resize = false; + clock::time_point start_time; ~impl() @@ -131,6 +133,7 @@ namespace psemek::app case SDL_WINDOWEVENT: switch (e.window.event) { case SDL_WINDOWEVENT_RESIZED: + impl().had_initial_resize = true; on_resize(e.window.data1, e.window.data2); break; case SDL_WINDOWEVENT_FOCUS_GAINED: @@ -199,6 +202,13 @@ namespace psemek::app while (running()) { poll_events(); + if (!impl().had_initial_resize) + { + int w, h; + SDL_GetWindowSize(impl().window, &w, &h); + impl().had_initial_resize = true; + on_resize(w, h); + } if (!running()) break; update(); draw();