From ea74d3b0181415400b0559a6ae87f131ef6504b2 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. --- 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 6978562c12..0f6389d45b 100644 --- a/src/render/metal/SDL_render_metal.m +++ b/src/render/metal/SDL_render_metal.m @@ -483,6 +483,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) { @@ -495,7 +497,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];