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