diff --git a/parallel-rdp/interface.cpp b/parallel-rdp/interface.cpp index cbd29b1d..34acc784 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 4cfc2136..8bf77ce7 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 5c1c0fe8..9b82fc81 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;