diff -r dee5afe5301f -r 3f74d0d4af4c src/opengl/qgl_x11.cpp --- a/src/opengl/qgl_x11.cpp Mon Mar 15 12:43:09 2010 +0200 +++ b/src/opengl/qgl_x11.cpp Thu Apr 08 14:19:33 2010 +0300 @@ -1656,8 +1656,11 @@ Display *display = xinfo ? xinfo->display() : X11->display; int screen = xinfo ? xinfo->screen() : X11->defaultScreen; - QGLExtensionMatcher extensions(glXQueryExtensionsString(display, screen)); - if (extensions.match("GLX_EXT_texture_from_pixmap")) { + QGLExtensionMatcher serverExtensions(glXQueryExtensionsString(display, screen)); + QGLExtensionMatcher clientExtensions(glXGetClientString(display, GLX_EXTENSIONS)); + if (serverExtensions.match("GLX_EXT_texture_from_pixmap") + && clientExtensions.match("GLX_EXT_texture_from_pixmap")) + { glXBindTexImageEXT = (qt_glXBindTexImageEXT) qglx_getProcAddress("glXBindTexImageEXT"); glXReleaseTexImageEXT = (qt_glXReleaseTexImageEXT) qglx_getProcAddress("glXReleaseTexImageEXT"); }