From 9e7e1271fdbe4088283a43e97de73c4c9304cff6 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Fri, 4 Sep 2026 15:50:05 -0400 Subject: [PATCH] metal: Clear bogus pointer if we fail to get a new drawable. Reference Issue #16232. (cherry picked from commit ea74d3b0181415400b0559a6ae87f131ef6504b2) --- src/render/metal/SDL_render_metal.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/render/metal/SDL_render_metal.m b/src/render/metal/SDL_render_metal.m index 989809cf79..94c085ce2f 100644 --- a/src/render/metal/SDL_render_metal.m +++ b/src/render/metal/SDL_render_metal.m @@ -466,6 +466,8 @@ static bool METAL_ActivateRenderCommandEncoder(SDL_Renderer *renderer, MTLLoadAc } } + data.mtlpassdesc.colorAttachments[0].texture = mtltexture; + /* mtltexture can be nil here if macOS refused to give us a drawable, which apparently can happen for minimized windows, etc. */ if (mtltexture == nil) { @@ -478,7 +480,6 @@ static bool METAL_ActivateRenderCommandEncoder(SDL_Renderer *renderer, MTLLoadAc } data.mtlpassdesc.colorAttachments[0].loadAction = load; - data.mtlpassdesc.colorAttachments[0].texture = mtltexture; data.mtlcmdbuffer = [data.mtlcmdqueue commandBuffer]; data.mtlcmdencoder = [data.mtlcmdbuffer renderCommandEncoderWithDescriptor:data.mtlpassdesc];