--- 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");
}