summaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys/egl_xlib
diff options
context:
space:
mode:
authorJosé Fonseca <[email protected]>2009-03-24 19:18:06 +0000
committerZack Rusin <[email protected]>2009-05-01 12:51:01 -0400
commit293f576db7cf3f411c2eeb0a72232d25b631dcd1 (patch)
treedc58352aecd6e5c9d75549a96a590d3ab0388bd4 /src/gallium/winsys/egl_xlib
parent2085cf24628be7cd297ab0f9ef5ce02bd5a006e2 (diff)
egl_xlib: Pass RTLD_LAZY to dlopen.
dlopen manpage mandates that either RTLD_LAZY or RTLD_NOW flags must be passed. Not doing so was causing a NULL return on debian unstable x86-64.
Diffstat (limited to 'src/gallium/winsys/egl_xlib')
-rw-r--r--src/gallium/winsys/egl_xlib/egl_xlib.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/winsys/egl_xlib/egl_xlib.c b/src/gallium/winsys/egl_xlib/egl_xlib.c
index b52f427e4a7..c10e3c00ffc 100644
--- a/src/gallium/winsys/egl_xlib/egl_xlib.c
+++ b/src/gallium/winsys/egl_xlib/egl_xlib.c
@@ -588,7 +588,9 @@ find_supported_apis(void)
EGLint mask = 0;
void *handle;
- handle = dlopen(NULL, 0);
+ handle = dlopen(NULL, RTLD_LAZY | RTLD_LOCAL);
+ if(!handle)
+ return mask;
if (dlsym(handle, "st_api_OpenGL_ES1"))
mask |= EGL_OPENGL_ES_BIT;