SDL: Fix #15985 (0a782)

From 0a7820fca3b9bc709985c1381dad67a1bfeddc0a Mon Sep 17 00:00:00 2001
From: Hadrian Tang <[EMAIL REDACTED]>
Date: Sun, 19 Jul 2026 13:50:59 +0800
Subject: [PATCH] Fix #15985

(cherry picked from commit a8591d943b7079b17fdd018dc04ec9c71dc94ae4)
---
 src/video/android/SDL_androidvulkan.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/video/android/SDL_androidvulkan.c b/src/video/android/SDL_androidvulkan.c
index 7436c2df5ac80..cd946feea5b2d 100644
--- a/src/video/android/SDL_androidvulkan.c
+++ b/src/video/android/SDL_androidvulkan.c
@@ -146,6 +146,11 @@ bool Android_Vulkan_CreateSurface(SDL_VideoDevice *_this,
                             " extension is not enabled in the Vulkan instance.");
     }
 
+    if (!windowData->native_window) {
+        // passing a NULL window violates Vulkan spec
+        return SDL_SetError("Android native window is not available for surface creation, usually because of backgrounding");
+    }
+
     SDL_zero(createInfo);
     createInfo.sType = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
     createInfo.pNext = NULL;