SDL: QNX: Fix EGL surface creation/destruction bugs. (#16310)

From 31cd7079353e9425be2bff41eea93a17e9412c23 Mon Sep 17 00:00:00 2001
From: eleir9268 <[EMAIL REDACTED]>
Date: Sun, 13 Sep 2026 12:08:39 -0400
Subject: [PATCH] QNX: Fix EGL surface creation/destruction bugs. (#16310)

---
 src/video/qnx/SDL_qnxgl.c    | 1 +
 src/video/qnx/SDL_qnxvideo.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/video/qnx/SDL_qnxgl.c b/src/video/qnx/SDL_qnxgl.c
index f2b84acb1d905..b0fd200ae526f 100644
--- a/src/video/qnx/SDL_qnxgl.c
+++ b/src/video/qnx/SDL_qnxgl.c
@@ -121,6 +121,7 @@ bool QNX_GLES_SwapWindow(SDL_VideoDevice *_this, SDL_Window *window)
             if (surface == EGL_NO_SURFACE) {
                 return false;
             }
+            SDL_SetPointerProperty(SDL_GetWindowProperties(window), SDL_PROP_WINDOW_QNX_SURFACE_POINTER, surface);
 
             if (!SDL_EGL_MakeCurrent(_this, surface, impl->context)) {
                 return false;
diff --git a/src/video/qnx/SDL_qnxvideo.c b/src/video/qnx/SDL_qnxvideo.c
index 90302a05043c7..1b82090bf7b16 100644
--- a/src/video/qnx/SDL_qnxvideo.c
+++ b/src/video/qnx/SDL_qnxvideo.c
@@ -547,6 +547,7 @@ static void QNX_DestroyWindow(SDL_VideoDevice *_this, SDL_Window *window)
     SDL_WindowData   *impl = (SDL_WindowData *)window->internal;
 
     if (impl) {
+        SDL_EGL_DestroySurface(_this, impl->egl_surface);
         screen_destroy_window(impl->window);
         window->internal = NULL;
     }