From 31cd7079353e9425be2bff41eea93a17e9412c23 Mon Sep 17 00:00:00 2001 From: eleir9268 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 f2b84acb1d..b0fd200ae5 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 90302a0504..1b82090bf7 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; }