diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index 588f61d18f..6cb30d83a8 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)) {