From 92cb3a666109b67598cd36b9c0088fb697abbd23 Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Fri, 24 Apr 2020 21:34:25 +0200 Subject: [PATCH] Improve resizing workaround Call the same method as when the event is received on the event loop, so that the behavior is the same in both cases. --- app/src/scrcpy.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/scrcpy.c b/app/src/scrcpy.c index 81f8239e..d557b208 100644 --- a/app/src/scrcpy.c +++ b/app/src/scrcpy.c @@ -109,9 +109,10 @@ static int event_watcher(void *data, SDL_Event *event) { (void) data; if (event->type == SDL_WINDOWEVENT - && event->window.event == SDL_WINDOWEVENT_RESIZED) { - // called from another thread, not very safe, but it's a workaround! - screen_render(&screen); + && event->window.event == SDL_WINDOWEVENT_SIZE_CHANGED) { + // In practice, it seems to always be called from the same thread in + // that specific case. Anyway, it's just a workaround. + screen_handle_window_event(&screen, &event->window); } return 0; }