From 300013cea75d8d5cbfa784c46f48db4671b9c2ae Mon Sep 17 00:00:00 2001
From: Lucas Murray <[EMAIL REDACTED]>
Date: Fri, 4 Apr 2025 16:01:41 +1100
Subject: [PATCH] GPU: Don't pass null properties to SDL_CopyProperties()
---
src/gpu/d3d12/SDL_gpu_d3d12.c | 4 +++-
src/gpu/metal/SDL_gpu_metal.m | 4 +++-
src/gpu/vulkan/SDL_gpu_vulkan.c | 4 +++-
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/gpu/d3d12/SDL_gpu_d3d12.c b/src/gpu/d3d12/SDL_gpu_d3d12.c
index d309347fb2c33..9a8378d003b2d 100644
--- a/src/gpu/d3d12/SDL_gpu_d3d12.c
+++ b/src/gpu/d3d12/SDL_gpu_d3d12.c
@@ -3454,7 +3454,9 @@ static SDL_GPUTexture *D3D12_CreateTexture(
// Copy properties so we don't lose information when the client destroys them
container->header.info = *createinfo;
container->header.info.props = SDL_CreateProperties();
- SDL_CopyProperties(createinfo->props, container->header.info.props);
+ if (createinfo->props) {
+ SDL_CopyProperties(createinfo->props, container->header.info.props);
+ }
container->textureCapacity = 1;
container->textureCount = 1;
diff --git a/src/gpu/metal/SDL_gpu_metal.m b/src/gpu/metal/SDL_gpu_metal.m
index bc712ad9e181a..75738dcbcf17d 100644
--- a/src/gpu/metal/SDL_gpu_metal.m
+++ b/src/gpu/metal/SDL_gpu_metal.m
@@ -1508,7 +1508,9 @@ static bool METAL_SupportsSampleCount(
// Copy properties so we don't lose information when the client destroys them
container->header.info = *createinfo;
container->header.info.props = SDL_CreateProperties();
- SDL_CopyProperties(createinfo->props, container->header.info.props);
+ if (createinfo->props) {
+ SDL_CopyProperties(createinfo->props, container->header.info.props);
+ }
container->activeTexture = texture;
container->textureCapacity = 1;
diff --git a/src/gpu/vulkan/SDL_gpu_vulkan.c b/src/gpu/vulkan/SDL_gpu_vulkan.c
index 5a7c9b714c3c9..90b1b17bec1b6 100644
--- a/src/gpu/vulkan/SDL_gpu_vulkan.c
+++ b/src/gpu/vulkan/SDL_gpu_vulkan.c
@@ -6750,7 +6750,9 @@ static SDL_GPUTexture *VULKAN_CreateTexture(
// Copy properties so we don't lose information when the client destroys them
container->header.info = *createinfo;
container->header.info.props = SDL_CreateProperties();
- SDL_CopyProperties(createinfo->props, container->header.info.props);
+ if (createinfo->props) {
+ SDL_CopyProperties(createinfo->props, container->header.info.props);
+ }
container->canBeCycled = true;
container->activeTexture = texture;