فهرست منبع

Revert "SDL_BlitSurfaceUnchecked() should invalidate the map when switching from scaled to unscaled blits"

This reverts commit 1f3b2fc8b3cf2443387d953a6271642ade1cdeda.

SDL_BlitSurface() also handles scaling, so we shouldn't clear the scaling flag inside of it.
Sam Lantinga 9 ماه پیش
والد
کامیت
78991bdb13
1فایلهای تغییر یافته به همراه6 افزوده شده و 6 حذف شده
  1. 6 6
      src/video/SDL_surface.c

+ 6 - 6
src/video/SDL_surface.c

@@ -855,12 +855,6 @@ int SDL_GetSurfaceClipRect(SDL_Surface *surface, SDL_Rect *rect)
 int SDL_BlitSurfaceUnchecked(SDL_Surface *src, const SDL_Rect *srcrect,
                              SDL_Surface *dst, const SDL_Rect *dstrect)
 {
-    /* Switch back to a fast blit if we were previously stretching */
-    if (src->internal->map.info.flags & SDL_COPY_NEAREST) {
-        src->internal->map.info.flags &= ~SDL_COPY_NEAREST;
-        SDL_InvalidateMap(&src->internal->map);
-    }
-
     /* Check to make sure the blit mapping is valid */
     if ((src->internal->map.dst != dst) ||
         (dst->internal->palette &&
@@ -948,6 +942,12 @@ int SDL_BlitSurface(SDL_Surface *src, const SDL_Rect *srcrect,
         return 0;
     }
 
+    /* Switch back to a fast blit if we were previously stretching */
+    if (src->internal->map.info.flags & SDL_COPY_NEAREST) {
+        src->internal->map.info.flags &= ~SDL_COPY_NEAREST;
+        SDL_InvalidateMap(&src->internal->map);
+    }
+
     return SDL_BlitSurfaceUnchecked(src, &r_src, dst, &r_dst);
 }