summaryrefslogtreecommitdiff
path: root/xc/lib/GL/glx/glxext.c
diff options
context:
space:
mode:
Diffstat (limited to 'xc/lib/GL/glx/glxext.c')
-rw-r--r--xc/lib/GL/glx/glxext.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/xc/lib/GL/glx/glxext.c b/xc/lib/GL/glx/glxext.c
index 9bed4bb09..4e7f0dd60 100644
--- a/xc/lib/GL/glx/glxext.c
+++ b/xc/lib/GL/glx/glxext.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/glx/glxext.c,v 1.8 2000/09/26 15:56:46 tsi Exp $ */
+/* $XFree86: xc/lib/GL/glx/glxext.c,v 1.9 2000/12/07 20:26:03 dawes Exp $ */
/*
** The contents of this file are subject to the GLX Public License Version 1.0
@@ -818,10 +818,13 @@ Bool glXMakeCurrent(Display *dpy, GLXDrawable draw, GLXContext gc)
/* Unbind the old direct rendering context */
if (oldGC->isDirect) {
if (oldGC->driContext.private) {
+ int will_rebind = (gc && gc->isDirect
+ && draw == oldGC->currentDrawable);
if (!(*oldGC->driContext.unbindContext)(oldGC->currentDpy,
oldGC->screen,
oldGC->currentDrawable,
- oldGC)) {
+ oldGC,
+ will_rebind)) {
/* The make current failed. Just return GL_FALSE. */
return GL_FALSE;
}