fix some strict aliasing problems related to choosing framebuffer configs (Matthias Hopf)
This commit is contained in:
@@ -1530,11 +1530,7 @@ main(int argc, char **argv)
|
||||
char *str, buffer[1024];
|
||||
int tty = isatty(fileno(stdin));
|
||||
int overlay = 0, showconfig = 0;
|
||||
#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
|
||||
GLXFBConfigSGIX fbc;
|
||||
#else
|
||||
void *fbc;
|
||||
#endif
|
||||
|
||||
#if !defined(_WIN32)
|
||||
dpy = XOpenDisplay(NULL);
|
||||
@@ -1563,10 +1559,10 @@ main(int argc, char **argv)
|
||||
} else {
|
||||
if (overlay) {
|
||||
vinfo = getVisualInfoFromString(str, &treatAsSingle,
|
||||
requiredOverlayCriteria, numRequiredOverlayCriteria, requiredOverlayCriteriaMask, (void**) &fbc);
|
||||
requiredOverlayCriteria, numRequiredOverlayCriteria, requiredOverlayCriteriaMask, &fbc);
|
||||
} else {
|
||||
vinfo = getVisualInfoFromString(str, &treatAsSingle,
|
||||
requiredWindowCriteria, numRequiredWindowCriteria, requiredWindowCriteriaMask, (void**) &fbc);
|
||||
requiredWindowCriteria, numRequiredWindowCriteria, requiredWindowCriteriaMask, &fbc);
|
||||
}
|
||||
if (vinfo) {
|
||||
printf("\n");
|
||||
|
||||
@@ -362,11 +362,7 @@ glutEstablishOverlay(void)
|
||||
GLUToverlay *overlay;
|
||||
GLUTwindow *window;
|
||||
XSetWindowAttributes wa;
|
||||
#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
|
||||
GLXFBConfigSGIX fbc;
|
||||
#else
|
||||
void *fbc;
|
||||
#endif
|
||||
|
||||
/* Register a routine to free an overlay with glut_win.c;
|
||||
this keeps glut_win.c from pulling in all of
|
||||
@@ -389,7 +385,7 @@ glutEstablishOverlay(void)
|
||||
__glutFatalError("out of memory.");
|
||||
|
||||
overlay->vis = determineOverlayVisual(&overlay->treatAsSingle,
|
||||
&overlay->visAlloced, (void **) &fbc);
|
||||
&overlay->visAlloced, &fbc);
|
||||
if (!overlay->vis) {
|
||||
__glutFatalError("lacks overlay support.");
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ GLUTwindow *__glutMenuWindow = NULL;
|
||||
|
||||
void (*__glutFreeOverlayFunc) (GLUToverlay *);
|
||||
XVisualInfo *(*__glutDetermineVisualFromString) (char *string, Bool * treatAsSingle,
|
||||
Criterion * requiredCriteria, int nRequired, int requiredMask, void** fbc) = NULL;
|
||||
Criterion * requiredCriteria, int nRequired, int requiredMask, void **fbc) = NULL;
|
||||
|
||||
static Criterion requiredWindowCriteria[] =
|
||||
{
|
||||
@@ -471,11 +471,7 @@ __glutCreateWindow(GLUTwindow * parent,
|
||||
unsigned long attribMask;
|
||||
int winnum;
|
||||
int i;
|
||||
#if defined(GLX_VERSION_1_1) && defined(GLX_SGIX_fbconfig)
|
||||
GLXFBConfigSGIX fbc;
|
||||
#else
|
||||
void *fbc;
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32)
|
||||
WNDCLASS wc;
|
||||
@@ -501,7 +497,7 @@ __glutCreateWindow(GLUTwindow * parent,
|
||||
|
||||
#if !defined(_WIN32)
|
||||
window->vis = __glutDetermineWindowVisual(&window->treatAsSingle,
|
||||
&window->visAlloced, (void**) &fbc);
|
||||
&window->visAlloced, &fbc);
|
||||
if (!window->vis) {
|
||||
__glutFatalError(
|
||||
"visual with necessary capabilities not found.");
|
||||
|
||||
Reference in New Issue
Block a user