mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 719164 - Silence glxtest to get rid of spurious messages from the GL - r=glandium
This commit is contained in:
parent
5a18638917
commit
9f48a1240f
@ -59,6 +59,8 @@
|
|||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
#include "nscore.h"
|
#include "nscore.h"
|
||||||
|
|
||||||
|
#include <fcntl.h>
|
||||||
|
|
||||||
#ifdef __SUNPRO_CC
|
#ifdef __SUNPRO_CC
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#endif
|
#endif
|
||||||
@ -110,20 +112,29 @@ x_error_handler(Display *, XErrorEvent *ev)
|
|||||||
|
|
||||||
static void glxtest()
|
static void glxtest()
|
||||||
{
|
{
|
||||||
|
// we want to redirect to /dev/null stdout, stderr, and while we're at it,
|
||||||
|
// any PR logging file descriptors. To that effect, we redirect all positive
|
||||||
|
// file descriptors up to what open() returns here. In particular, 1 is stdout and 2 is stderr.
|
||||||
|
int fd = open("/dev/null", O_WRONLY);
|
||||||
|
for (int i = 1; i < fd; i++)
|
||||||
|
dup2(fd, i);
|
||||||
|
close(fd);
|
||||||
|
|
||||||
///// Open libGL and load needed symbols /////
|
///// Open libGL and load needed symbols /////
|
||||||
#ifdef __OpenBSD__
|
#ifdef __OpenBSD__
|
||||||
void *libgl = dlopen("libGL.so", RTLD_LAZY);
|
#define LIBGL_FILENAME "libGL.so"
|
||||||
#else
|
#else
|
||||||
void *libgl = dlopen("libGL.so.1", RTLD_LAZY);
|
#define LIBGL_FILENAME "libGL.so.1"
|
||||||
#endif
|
#endif
|
||||||
|
void *libgl = dlopen(LIBGL_FILENAME, RTLD_LAZY);
|
||||||
if (!libgl)
|
if (!libgl)
|
||||||
fatal_error("Unable to load libGL.so.1");
|
fatal_error("Unable to load " LIBGL_FILENAME);
|
||||||
|
|
||||||
typedef void* (* PFNGLXGETPROCADDRESS) (const char *);
|
typedef void* (* PFNGLXGETPROCADDRESS) (const char *);
|
||||||
PFNGLXGETPROCADDRESS glXGetProcAddress = cast<PFNGLXGETPROCADDRESS>(dlsym(libgl, "glXGetProcAddress"));
|
PFNGLXGETPROCADDRESS glXGetProcAddress = cast<PFNGLXGETPROCADDRESS>(dlsym(libgl, "glXGetProcAddress"));
|
||||||
|
|
||||||
if (!glXGetProcAddress)
|
if (!glXGetProcAddress)
|
||||||
fatal_error("Unable to find glXGetProcAddress in libGL.so.1");
|
fatal_error("Unable to find glXGetProcAddress in " LIBGL_FILENAME);
|
||||||
|
|
||||||
typedef GLXFBConfig* (* PFNGLXQUERYEXTENSION) (Display *, int *, int *);
|
typedef GLXFBConfig* (* PFNGLXQUERYEXTENSION) (Display *, int *, int *);
|
||||||
PFNGLXQUERYEXTENSION glXQueryExtension = cast<PFNGLXQUERYEXTENSION>(glXGetProcAddress("glXQueryExtension"));
|
PFNGLXQUERYEXTENSION glXQueryExtension = cast<PFNGLXQUERYEXTENSION>(glXGetProcAddress("glXQueryExtension"));
|
||||||
|
Loading…
Reference in New Issue
Block a user