# SDL: metal: Clear bogus pointer if we fail to get a new drawable.

**URL:** <https://discourse.libsdl.org/t/sdl-metal-clear-bogus-pointer-if-we-fail-to-get-a-new-drawable/69241>\
**Category:** SDL Commits\
**Created:** [September 4, 2026, 7:57pm UTC](https://discourse.libsdl.org/t/sdl-metal-clear-bogus-pointer-if-we-fail-to-get-a-new-drawable/69241 "2026-09-04T19:57:38Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![SDLPushPostBot](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/sdlpushpostbot/32/4370_2.png) [@SDLPushPostBot](https://discourse.libsdl.org/u/SDLPushPostBot)\
**Post date:** [September 4, 2026, 7:57pm UTC](https://discourse.libsdl.org/t/sdl-metal-clear-bogus-pointer-if-we-fail-to-get-a-new-drawable/69241/1 "2026-09-04T19:57:38Z")

</div>

> <https://github.com/libsdl-org/SDL/commit/ea74d3b0181415400b0559a6ae87f131ef6504b2>
>
> Reference Issue #16232.

```diff
From ea74d3b0181415400b0559a6ae87f131ef6504b2 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
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 6978562c1240e..0f6389d45b640 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];

```
