Browse Source

Fixed building with SDL_LEAN_AND_MEAN

Fixes https://github.com/libsdl-org/SDL/issues/12578
Sam Lantinga 1 month ago
parent
commit
82335fd0e9
1 changed files with 10 additions and 7 deletions
  1. 10 7
      src/render/direct3d/SDL_render_d3d.c

+ 10 - 7
src/render/direct3d/SDL_render_d3d.c

@@ -1034,27 +1034,30 @@ static bool SetDrawState(D3D_RenderData *data, const SDL_RenderCommand *cmd)
         data->drawstate.texture = texture;
     } else if (texture) {
         D3D_TextureData *texturedata = (D3D_TextureData *)texture->internal;
-        UpdateDirtyTexture(data->device, &texturedata->texture);
+        if (texturedata) {
+            UpdateDirtyTexture(data->device, &texturedata->texture);
 #ifdef SDL_HAVE_YUV
-        if (texturedata->yuv) {
-            UpdateDirtyTexture(data->device, &texturedata->utexture);
-            UpdateDirtyTexture(data->device, &texturedata->vtexture);
+            if (texturedata->yuv) {
+                UpdateDirtyTexture(data->device, &texturedata->utexture);
+                UpdateDirtyTexture(data->device, &texturedata->vtexture);
+            }
+#endif // SDL_HAVE_YUV
         }
-#endif
     }
 
     if (texture) {
-        D3D_TextureData *texturedata = (D3D_TextureData *)texture->internal;
-
         UpdateTextureScaleMode(data, cmd->data.draw.texture_scale_mode, 0);
         UpdateTextureAddressMode(data, cmd->data.draw.texture_address_mode, 0);
 
+#ifdef SDL_HAVE_YUV
+        D3D_TextureData *texturedata = (D3D_TextureData *)texture->internal;
         if (texturedata && texturedata->yuv) {
             UpdateTextureScaleMode(data, cmd->data.draw.texture_scale_mode, 1);
             UpdateTextureScaleMode(data, cmd->data.draw.texture_scale_mode, 2);
             UpdateTextureAddressMode(data, cmd->data.draw.texture_address_mode, 1);
             UpdateTextureAddressMode(data, cmd->data.draw.texture_address_mode, 2);
         }
+#endif // SDL_HAVE_YUV
     }
 
     if (blend != data->drawstate.blend) {