From 944a3af53155f3f06dbd9ede4c3c5cd975ebe950 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C5=82a=C5=BCej=20Szczygie=C5=82?= Date: Tue, 28 Feb 2023 21:01:23 +0100 Subject: [PATCH] glx: Fix glXGetFBConfigFromVisualSGIX Get list of configs returned by glXChooseFBConfig, return it's first element, free memory. Fixes: 4ccd253588b ("glx: Require GLX 1.3") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8273 Reviewed-by: Ian Romanick Reviewed-by: Adam Jackson Part-of: --- src/glx/glxcmds.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c index 37c968b7e7e..91c4c627bfe 100644 --- a/src/glx/glxcmds.c +++ b/src/glx/glxcmds.c @@ -1779,9 +1779,16 @@ glXGetFBConfigFromVisualSGIX(Display * dpy, XVisualInfo * vis) { int attrib_list[] = { GLX_VISUAL_ID, vis->visualid, None }; int nconfigs = 0; + GLXFBConfig *config_list; + GLXFBConfig config; - return (GLXFBConfigSGIX) - glXChooseFBConfig(dpy, vis->screen, attrib_list, &nconfigs); + config_list = glXChooseFBConfig(dpy, vis->screen, attrib_list, &nconfigs); + if (nconfigs == 0) + return NULL; + + config = config_list[0]; + free(config_list); + return (GLXFBConfigSGIX)config; } #ifndef GLX_USE_APPLEGL