SDL: Fixed data alignment for PNG cursors (thanks @Kontrabant!)

From 9d32e0e88130d166920f439f7a691c806096e998 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Tue, 21 Oct 2025 10:43:04 -0700
Subject: [PATCH] Fixed data alignment for PNG cursors (thanks @Kontrabant!)

---
 src/video/windows/SDL_windowsmouse.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/video/windows/SDL_windowsmouse.c b/src/video/windows/SDL_windowsmouse.c
index 273678558aacf..db4d42d6b7642 100644
--- a/src/video/windows/SDL_windowsmouse.c
+++ b/src/video/windows/SDL_windowsmouse.c
@@ -196,7 +196,18 @@ static bool FillIconEntry(CURSORICONFILEDIRENTRY *entry, SDL_Surface *surface, i
 
 static bool WriteIconSurface(SDL_IOStream *dst, SDL_Surface *surface)
 {
-    return SDL_SavePNG_IO(surface, dst, false);
+    if (!SDL_SavePNG_IO(surface, dst, false)) {
+        return false;
+    }
+
+    // Image data offsets must be WORD aligned
+    Sint64 offset = SDL_TellIO(dst);
+    if (offset & 1) {
+        if (!SDL_WriteU8(dst, 0)) {
+            return false;
+        }
+    }
+    return true;
 }
 
 #else