diff options
author | Błażej Szczygieł <mumei6102@gmail.com> | 2023-02-28 21:01:23 +0100 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2023-03-06 11:16:48 +0000 |
commit | 944a3af53155f3f06dbd9ede4c3c5cd975ebe950 (patch) | |
tree | b198e49210aa92005a5995c5a25e5751b728323e /src/glx | |
parent | 5d30d11ccceae75765b001d6cd453b4e0713f6cf (diff) | |
download | mesa-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.c | 11 |
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 |