Преглед изворни кода

render: Skip UV check when software-rendering untextured quads

Fixes a crash when calling SDL_RenderGeometryRaw() with both `texture`
and `uv` set to `NULL`, and with geometry that is laid out in a way
that passes the quad checks.

(cherry picked from commit 989de77f4f7d8ec4e51c317371e9aeb502f48d51)
nmlgc пре 2 дана
родитељ
комит
c4af41ba27
1 измењених фајлова са 1 додато и 1 уклоњено
  1. 1 1
      src/render/SDL_render.c

+ 1 - 1
src/render/SDL_render.c

@@ -5157,7 +5157,7 @@ static bool SDLCALL SDL_SW_RenderGeometryRaw(SDL_Renderer *renderer,
         }
 
         // Check if UVs within range
-        if (is_quad) {
+        if (is_quad && uv) {
             const float *uv0_ = (const float *)((const char *)uv + A * color_stride);
             const float *uv1_ = (const float *)((const char *)uv + B * color_stride);
             const float *uv2_ = (const float *)((const char *)uv + C * color_stride);