From fe20c35be80d1b20e6d977ddd11c02b0488be439 Mon Sep 17 00:00:00 2001 From: Sylvain Becker Date: Mon, 14 Oct 2019 16:40:46 +0200 Subject: [PATCH] Fixed race condition when scaling Touch events, and changing the renderer target. Always read the output size of the main renderer. (similar to bug 2107) --- src/render/SDL_render.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c index fb770d47a..f223d92fc 100644 --- a/src/render/SDL_render.c +++ b/src/render/SDL_render.c @@ -689,9 +689,13 @@ SDL_RendererEventWatch(void *userdata, SDL_Event *event) SDL_FPoint scale; GetWindowViewportValues(renderer, &logical_w, &logical_h, &viewport, &scale); if (logical_w) { - int w = 1; - int h = 1; - SDL_GetRendererOutputSize(renderer, &w, &h); + int w, h; + + if (renderer->GetOutputSize) { + renderer->GetOutputSize(renderer, &w, &h); + } else { + SDL_GetWindowSize(renderer->window, &w, &h); + } event->tfinger.x *= (w - 1); event->tfinger.y *= (h - 1);