diff options
Diffstat (limited to 'xorg-server/hw/xquartz/GL/indirect.c')
-rw-r--r-- | xorg-server/hw/xquartz/GL/indirect.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/xorg-server/hw/xquartz/GL/indirect.c b/xorg-server/hw/xquartz/GL/indirect.c index 4b2911194..27fa7fc36 100644 --- a/xorg-server/hw/xquartz/GL/indirect.c +++ b/xorg-server/hw/xquartz/GL/indirect.c @@ -88,6 +88,15 @@ typedef struct __GLXAquaScreen __GLXAquaScreen; typedef struct __GLXAquaContext __GLXAquaContext;
typedef struct __GLXAquaDrawable __GLXAquaDrawable;
+/*
+ * The following structs must keep the base as the first member.
+ * It's used to treat the start of the struct as a different struct
+ * in GLX.
+ *
+ * Note: these structs should be initialized with xcalloc or memset
+ * prior to usage, and some of them require initializing
+ * the base with function pointers.
+ */
struct __GLXAquaScreen {
__GLXscreen base;
int index;
@@ -196,7 +205,11 @@ static int __glXAquaContextLoseCurrent(__GLXcontext *baseContext) { if (gl_err != 0)
ErrorF("CGLSetCurrentContext error: %s\n", CGLErrorString(gl_err));
- __glXLastContext = NULL; // Mesa does this; why?
+ /*
+ * There should be no need to set __glXLastContext to NULL here, because
+ * glxcmds.c does it as part of the context cache flush after calling
+ * this.
+ */
return GL_TRUE;
}
|