SDL: SDL_SetWindowShape(): Remove shape when argument is NULL

From 53c799a7a9790bbf31f781cffffacef4f6bd5fa3 Mon Sep 17 00:00:00 2001
From: Petar Popovic <[EMAIL REDACTED]>
Date: Thu, 26 Mar 2026 13:22:30 +0100
Subject: [PATCH] SDL_SetWindowShape(): Remove shape when argument is NULL

---
 src/video/SDL_video.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c
index 588f61d18faea..6cb30d83a8c22 100644
--- a/src/video/SDL_video.c
+++ b/src/video/SDL_video.c
@@ -6147,9 +6147,13 @@ bool SDL_SetWindowShape(SDL_Window *window, SDL_Surface *shape)
         return false;
     }
 
-    surface = SDL_ConvertSurface(shape, SDL_PIXELFORMAT_ARGB32);
-    if (!surface) {
-        return false;
+    if (shape) {
+        surface = SDL_ConvertSurface(shape, SDL_PIXELFORMAT_ARGB32);
+        if (!surface) {
+            return false;
+        }
+    } else {
+        surface = NULL;
     }
 
     if (!SDL_SetSurfaceProperty(props, SDL_PROP_WINDOW_SHAPE_POINTER, surface)) {