platform sdl, fix minor bug in window size handling
authorkub <derkub@gmail.com>
Sat, 18 Feb 2023 17:28:05 +0000 (17:28 +0000)
committerkub <derkub@gmail.com>
Sat, 18 Feb 2023 20:45:50 +0000 (20:45 +0000)
platform/common/plat_sdl.c

index de4b054..705d476 100644 (file)
@@ -142,10 +142,11 @@ static void resize_buffers(void)
 void plat_video_set_size(int w, int h)
 {
        if (area.w != w || area.h != h) {
+               area = (struct area) { w, h };
                if (plat_sdl_change_video_mode(w, h, 0) < 0) {
                        // failed, revert to original resolution
+                       area = (struct area) { g_screen_width,g_screen_height };
                        plat_sdl_change_video_mode(g_screen_width, g_screen_height, 0);
-                       w = g_screen_width, h = g_screen_height;
                }
                if (!plat_sdl_overlay && !plat_sdl_gl_active) {
                        g_screen_width = plat_sdl_screen->w;
@@ -157,7 +158,6 @@ void plat_video_set_size(int w, int h)
                        g_screen_height = h;
                        g_screen_ppitch = w;
                }
-               area = (struct area) { w, h };
        }
 }
 
@@ -389,7 +389,7 @@ void plat_init(void)
 
 #if defined(__RG99__)
        // do not use the default resolution
-       plat_video_set_size(320, 240);
+       plat_sdl_change_video_mode(320, 240, 1);
 #endif
 
        bgr_to_uyvy_init();