diff --git a/src/video/android/SDL_androidvulkan.c b/src/video/android/SDL_androidvulkan.c index 7436c2df5a..cd946feea5 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;