freebsd-ports/www/firefox-esr/files/patch-bugzilla-659932
Florian Smeets 8defd42d3a - commit remaining part of ports/159709 [1]
- register build conflict with spidermonkey until the firefox build failure
  can be fixed [2]

PR:		ports/159709 [1]
		ports/159831 [2]
Submitted by:	Ruslan Mahmatkhanov <cvs-src@yandex.ru> [1]
2011-08-24 23:34:00 +00:00

35 lines
1.5 KiB
Text

--- toolkit/xre/glxtest.cpp.orig 2011-08-11 17:41:31.000000000 -0400
+++ toolkit/xre/glxtest.cpp 2011-08-23 15:09:48.000000000 -0400
@@ -114,6 +114,9 @@
typedef GLXFBConfig* (* PFNGLXQUERYEXTENSION) (Display *, int *, int *);
PFNGLXQUERYEXTENSION glXQueryExtension = cast<PFNGLXQUERYEXTENSION>(dlsym(libgl, "glXQueryExtension"));
+ typedef GLXFBConfig* (* PFNGLXQUERYVERSION) (Display *, int *, int *);
+ PFNGLXQUERYVERSION glXQueryVersion = cast<PFNGLXQUERYVERSION>(dlsym(libgl, "glXQueryVersion"));
+
typedef GLXFBConfig* (* PFNGLXCHOOSEFBCONFIG) (Display *, int, const int *, int *);
PFNGLXCHOOSEFBCONFIG glXChooseFBConfig = cast<PFNGLXCHOOSEFBCONFIG>(dlsym(libgl, "glXChooseFBConfig"));
@@ -139,6 +142,7 @@
PFNGLGETSTRING glGetString = cast<PFNGLGETSTRING>(dlsym(libgl, "glGetString"));
if (!glXQueryExtension ||
+ !glXQueryVersion ||
!glXChooseFBConfig ||
!glXGetVisualFromFBConfig ||
!glXCreatePixmap ||
@@ -158,6 +162,14 @@
///// Check that the GLX extension is present /////
if (!glXQueryExtension(dpy, NULL, NULL))
fatal_error("GLX extension missing");
+
+ ///// Check that the GLX version is >= 1.3, needed for glXCreatePixmap, bug 659932 /////
+ int majorVersion, minorVersion;
+ if (!glXQueryVersion(dpy, &majorVersion, &minorVersion))
+ fatal_error("Unable to query GLX version");
+
+ if (majorVersion < 1 || (majorVersion == 1 && minorVersion < 3))
+ fatal_error("GLX version older than the required 1.3");
XSetErrorHandler(x_error_handler);