diff --git a/parallel-rdp/interface.cpp b/parallel-rdp/interface.cpp index cbd29b1..34acc78 100644 --- a/parallel-rdp/interface.cpp +++ b/parallel-rdp/interface.cpp @@ -184,11 +184,15 @@ int sdl_event_filter(void *userdata, SDL_Event *event) { if (event->type == SDL_WINDOWEVENT) { + SDL_WSIPlatform *platform = (SDL_WSIPlatform *)&wsi->get_platform(); switch (event->window.event) { case SDL_WINDOWEVENT_CLOSE: emu_running = 0; break; + case SDL_WINDOWEVENT_RESIZED: + platform->do_resize(); + break; default: break; } diff --git a/parallel-rdp/wsi_platform.cpp b/parallel-rdp/wsi_platform.cpp index 4cfc213..8bf77ce 100644 --- a/parallel-rdp/wsi_platform.cpp +++ b/parallel-rdp/wsi_platform.cpp @@ -58,3 +58,8 @@ void SDL_WSIPlatform::set_window(SDL_Window *_window) { window = _window; } + +void SDL_WSIPlatform::do_resize() +{ + resize = true; +} diff --git a/parallel-rdp/wsi_platform.hpp b/parallel-rdp/wsi_platform.hpp index 5c1c0fe..9b82fc8 100644 --- a/parallel-rdp/wsi_platform.hpp +++ b/parallel-rdp/wsi_platform.hpp @@ -14,6 +14,7 @@ public: bool alive(Vulkan::WSI &wsi) override; void poll_input() override; void set_window(SDL_Window *_window); + void do_resize(); private: VkSurfaceKHR surface;