aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xquartz/GL/indirect.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/hw/xquartz/GL/indirect.c')
-rw-r--r--xorg-server/hw/xquartz/GL/indirect.c15
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;
}