From 4d619d9b17d2d8ef8538631fd81938e587387db1 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 17 Aug 2018 19:49:31 +0100 Subject: [PATCH] Only query fbconfig for valid non-NULL context. Closes #1082 --- renderdoc/driver/gl/glx_hooks.cpp | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/renderdoc/driver/gl/glx_hooks.cpp b/renderdoc/driver/gl/glx_hooks.cpp index b836e6248..49cdd16ab 100644 --- a/renderdoc/driver/gl/glx_hooks.cpp +++ b/renderdoc/driver/gl/glx_hooks.cpp @@ -367,18 +367,23 @@ HOOK_EXPORT Bool glXMakeContextCurrent(Display *dpy, GLXDrawable draw, GLXDrawab data.wnd = draw; data.ctx = ctx; - int fbconfigid = -1; - GLX.glXQueryContext(dpy, ctx, GLX_FBCONFIG_ID, &fbconfigid); + GLXFBConfig *config = NULL; - int attribs[] = {GLX_FBCONFIG_ID, fbconfigid, 0}; + if(ctx) + { + int fbconfigid = -1; + GLX.glXQueryContext(dpy, ctx, GLX_FBCONFIG_ID, &fbconfigid); - int numElems = 0; - GLXFBConfig *config = GLX.glXChooseFBConfig(dpy, DefaultScreen(dpy), attribs, &numElems); + int attribs[] = {GLX_FBCONFIG_ID, fbconfigid, 0}; - if(config) - data.cfg = GLX.glXGetVisualFromFBConfig(dpy, *config); - else - data.cfg = NULL; + int numElems = 0; + config = GLX.glXChooseFBConfig(dpy, DefaultScreen(dpy), attribs, &numElems); + + if(config) + data.cfg = GLX.glXGetVisualFromFBConfig(dpy, *config); + else + data.cfg = NULL; + } glxhook.driver.ActivateContext(data);