瀏覽代碼

If scaling fails, fall back to the closest image available in SDL_GetSurfaceImage()

Sam Lantinga 1 年之前
父節點
當前提交
41f1c83caa
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      src/video/SDL_surface.c

+ 3 - 1
src/video/SDL_surface.c

@@ -555,7 +555,9 @@ SDL_Surface *SDL_GetSurfaceImage(SDL_Surface *surface, float display_scale)
         }
         scaled = next_scaled;
         if (!scaled) {
-            return NULL;
+            // Failure, fall back to the closest surface
+            ++closest->refcount;
+            return closest;
         }
     } while (scaled->w != desired_w || scaled->h != desired_h);