sdl2-compat: Fixed memory leak with surfaces created by SDL_ttf

From a9eaede99b9227259fc9a10027bab38a617a15d1 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sun, 2 Feb 2025 16:49:31 -0800
Subject: [PATCH] Fixed memory leak with surfaces created by SDL_ttf

SDL_ttf creates preallocated surfaces and then clears the preallocated flag so SDL can free them. Make sure we synchronize the flags correctly to pick this change up.
---
 src/sdl2_compat.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/sdl2_compat.c b/src/sdl2_compat.c
index dcbe005..35bdc3a 100644
--- a/src/sdl2_compat.c
+++ b/src/sdl2_compat.c
@@ -2812,7 +2812,7 @@ static void SynchronizeSurface3to2(SDL_Surface *surface, SDL2_Surface *surface2)
      * https://github.com/libsdl-org/SDL/blob/be991239d9bc6df06b0ca7a9ae9dbb7251e93c12/src/video/SDL_RLEaccel.c#L1180-L1189
      */
     if (surface && surface->pixels != surface2->pixels) {
-        surface2->flags &= ~(surface->flags & SHARED_SURFACE_FLAGS);
+        surface2->flags &= ~SHARED_SURFACE_FLAGS;
         surface2->flags |= (surface->flags & SHARED_SURFACE_FLAGS);
         surface2->pixels = surface->pixels;
         surface2->pitch = surface->pitch;
@@ -2833,7 +2833,7 @@ static SDL_Surface *Surface2to3(SDL2_Surface *surface)
          */
         surface3->w = surface->w;
         surface3->h = surface->h;
-        surface3->flags &= ~(surface->flags & SHARED_SURFACE_FLAGS);
+        surface3->flags &= ~SHARED_SURFACE_FLAGS;
         surface3->flags |= (surface->flags & SHARED_SURFACE_FLAGS);
         surface3->pixels = surface->pixels;
         surface3->pitch = surface->pitch;