Browse Source

Fixed bug #2962 - when SDL_RenderReadPixels format = 0, used format of the target texture
include/SDL_render.h, format:
"0 to use the format of the rendering target "

Sylvain 3 years ago
parent
commit
9dc201d448
1 changed files with 5 additions and 1 deletions
  1. 5 1
      src/render/SDL_render.c

+ 5 - 1
src/render/SDL_render.c

@@ -4177,7 +4177,11 @@ SDL_RenderReadPixels(SDL_Renderer * renderer, const SDL_Rect * rect,
     FlushRenderCommands(renderer);  /* we need to render before we read the results. */
 
     if (!format) {
-        format = SDL_GetWindowPixelFormat(renderer->window);
+        if (renderer->target == NULL) {
+            format = SDL_GetWindowPixelFormat(renderer->window);
+        } else {
+            format = renderer->target->format;
+        }
     }
 
     real_rect.x = (int)SDL_floor(renderer->viewport.x);