Commit 49369142bddc27203241fce3d23d5b6f4b316fb8

Sylvain 2021-11-21T17:40:48

Fixed bug #4625: with integer scale, viewport (as reported by SDL_RenderGetViewport) becomes -2147483648x-2147483648 0 isn't valid scale. Min integer scale is 1.0f

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c
index 5c037c4..2b814e7 100644
--- a/src/render/SDL_render.c
+++ b/src/render/SDL_render.c
@@ -2270,6 +2270,11 @@ UpdateLogicalSize(SDL_Renderer *renderer)
         } else {
             scale = (float)(h / renderer->logical_h);
         }
+
+        if (scale < 1.0f) {
+            scale = 1.0f;
+        }
+
         viewport.w = (int)SDL_floor(renderer->logical_w * scale);
         viewport.x = (w - viewport.w) / 2;
         viewport.h = (int)SDL_floor(renderer->logical_h * scale);