apple: Implement applegl_unbind_context

glXMakeCurrent(dpy, None, NULL) would not correctly unbind the context
causing subsequent GLX requests to fail in peculiar ways

http://xquartz.macosforge.org/trac/ticket/514

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
This commit is contained in:
Jeremy Huddleston 2011-10-24 16:21:28 -07:00
parent 9dc7df1fea
commit 5c44c1348e

View file

@ -69,6 +69,24 @@ applegl_bind_context(struct glx_context *gc, struct glx_context *old,
static void static void
applegl_unbind_context(struct glx_context *gc, struct glx_context *new) applegl_unbind_context(struct glx_context *gc, struct glx_context *new)
{ {
Display *dpy;
bool error;
/* If we don't have a context, then we have nothing to unbind */
if (!gc)
return;
/* If we have a new context, keep this one around and remove it during bind. */
if (new)
return;
dpy = gc->psc->dpy;
error = apple_glx_make_current_context(dpy,
(gc != &dummyContext) ? gc->driContext : NULL,
NULL, None);
apple_glx_diagnostic("%s: error %s\n", __func__, error ? "YES" : "NO");
} }
static void static void