X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglut%2Fglx%2Fglut_event.c;h=4cdb814d76a40d0b075d13e3a5fe85ee9ae89be1;hb=275c4bd3643d773210780cb8d578ca84f2604684;hp=b5df7b23119d93c5f0416231d65e31dabe952aaf;hpb=885a95f4fa6d8adba2bfc1839b99f404b473f646;p=mesa.git diff --git a/src/glut/glx/glut_event.c b/src/glut/glx/glut_event.c index b5df7b23119..4cdb814d76a 100644 --- a/src/glut/glx/glut_event.c +++ b/src/glut/glx/glut_event.c @@ -664,6 +664,7 @@ processEventsAndTimeouts(void) case XK_KP_Delete: /* Introduced in X11R6. */ /* The Delete character is really an ASCII key. */ __glutSetWindow(window); + assert(keyboard); keyboard(127, /* ASCII Delete character. */ event.xkey.x, event.xkey.y); goto skip; @@ -1311,6 +1312,7 @@ processWindowWorkList(GLUTwindow * window) } /* Combine workMask with window->workMask to determine what finish and debug work there is. */ + assert(window); workMask |= window->workMask; if (workMask & GLUT_FINISH_WORK) { @@ -1321,7 +1323,12 @@ processWindowWorkList(GLUTwindow * window) is where the finish works gets queued for indirect contexts. */ __glutSetWindow(window); - glFinish(); +#if !defined(_WIN32) + if (!window->isDirect) +#endif + { + glFinish(); + } } if (workMask & GLUT_DEBUG_WORK) { __glutSetWindow(window); @@ -1338,9 +1345,7 @@ processWindowWorkList(GLUTwindow * window) } } -#ifndef _WIN32 static /* X11 implementations do not need this global. */ -#endif void __glutProcessWindowWorkLists(void) {