sdl2-compat: video: Consolidate refresh rate and format display mode fallbacks

From 59a1e74a85b141c42639879c451359fe6f6f03fe Mon Sep 17 00:00:00 2001
From: Cameron Gutman <[EMAIL REDACTED]>
Date: Sun, 13 Apr 2025 14:22:08 -0500
Subject: [PATCH] video: Consolidate refresh rate and format display mode
 fallbacks

Previously, some display mode functions had these fallbacks and others didn't.

Fixes #459
---
 src/sdl2_compat.c | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

diff --git a/src/sdl2_compat.c b/src/sdl2_compat.c
index 39b9fb8..94d640c 100644
--- a/src/sdl2_compat.c
+++ b/src/sdl2_compat.c
@@ -8209,6 +8209,14 @@ DisplayMode_3to2(const SDL_DisplayMode *in, SDL2_DisplayMode *out) {
         out->h = in->h;
         out->refresh_rate = (int) SDL3_lroundf(in->refresh_rate);
         out->driverdata = in->internal;
+
+        /* Make sure the returned refresh rate and format are something valid */
+        if (!out->refresh_rate) {
+            out->refresh_rate = 60;
+        }
+        if (!out->format) {
+            out->format = SDL_PIXELFORMAT_XRGB8888;
+        }
     }
 }
 
@@ -8495,11 +8503,6 @@ SDL_GetWindowDisplayMode(SDL_Window *window, SDL2_DisplayMode *mode)
         if (SDL_GetDesktopDisplayMode(display, mode) < 0) {
             return -1;
         }
-
-        /* When returning the desktop mode, make sure the refresh is some nonzero value. */
-        if (mode->refresh_rate == 0) {
-            mode->refresh_rate = 60;
-        }
     } else {
         if (!SDL_GetClosestDisplayMode(display, mode, mode)) {
             SDL_zerop(mode);
@@ -8533,14 +8536,6 @@ SDL_GetClosestDisplayMode(int displayIndex, const SDL2_DisplayMode *mode, SDL2_D
     }
 
     DisplayMode_3to2(ret3, closest);
-
-    /* Make sure the returned refresh rate and format are something valid */
-    if (!closest->refresh_rate) {
-        closest->refresh_rate = mode->refresh_rate ? mode->refresh_rate : 60;
-    }
-    if (!closest->format) {
-        closest->format = SDL_PIXELFORMAT_XRGB8888;
-    }
     return closest;
 }