X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=glxwrap.c;h=4d16e4d6a1b86c093bbad6f4d8b1f35ff337e0f8;hb=7f48ed429b393b28cb6362af5dcddd9bb27c3901;hp=80ccf1afdb6ed7148b81f1a04a30cd628b58b4da;hpb=8468b2b9d524832211f8e20791a1459003a563ff;p=fips diff --git a/glxwrap.c b/glxwrap.c index 80ccf1a..4d16e4d 100644 --- a/glxwrap.c +++ b/glxwrap.c @@ -98,6 +98,7 @@ typedef __GLXextFuncPtr (* fips_glXGetProcAddressARB_t)(const GLubyte *func); __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *func) { + __GLXextFuncPtr ptr; static fips_glXGetProcAddressARB_t real_glXGetProcAddressARB = NULL; const char *name = "glXGetProcAddressARB"; @@ -110,8 +111,11 @@ glXGetProcAddressARB (const GLubyte *func) } } - if (strcmp ((const char *)func, "glXSwapBuffers") == 0) - return (__GLXextFuncPtr) glXSwapBuffers; - else - return real_glXGetProcAddressARB (func); + /* If our library has this symbol, that's what we want to give. */ + ptr = dlwrap_real_dlsym (NULL, (const char *) func); + if (ptr) + return ptr; + + /* Otherwise, just defer to the real glXGetProcAddressARB. */ + return real_glXGetProcAddressARB (func); }