summaryrefslogtreecommitdiff
path: root/src/glx
diff options
context:
space:
mode:
authorBłażej Szczygieł <mumei6102@gmail.com>2023-02-28 21:01:23 +0100
committerMarge Bot <emma+marge@anholt.net>2023-03-06 11:16:48 +0000
commit944a3af53155f3f06dbd9ede4c3c5cd975ebe950 (patch)
treeb198e49210aa92005a5995c5a25e5751b728323e /src/glx
parent5d30d11ccceae75765b001d6cd453b4e0713f6cf (diff)
downloadmesa-944a3af53155f3f06dbd9ede4c3c5cd975ebe950.tar.gz
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 <ian.d.romanick@intel.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21607>
Diffstat (limited to 'src/glx')
-rw-r--r--src/glx/glxcmds.c11
1 files 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