Display *dpy = gc->psc->dpy;
int opcode = __glXSetupForCommand(dpy);
- if (old && !old->isDirect && old->psc->dpy == dpy)
+ if (old != &dummyContext && !old->isDirect && old->psc->dpy == dpy) {
tag = old->currentContextTag;
- else
- tag = None;
+ old->currentContextTag = 0;
+ } else {
+ tag = 0;
+ }
SendMakeCurrentRequest(dpy, opcode, gc->xid, tag, draw, read, &reply);
int opcode = __glXSetupForCommand(dpy);
xGLXMakeCurrentReply reply;
+ if (gc == new)
+ return;
+
/* We are either switching to no context, away from a indirect
* context to a direct context or from one dpy to another and have
* to send a request to the dpy to unbind the previous context.
*/
- if (!new || new->isDirect || new->psc->dpy != dpy)
+ if (!new || new->isDirect || new->psc->dpy != dpy) {
SendMakeCurrentRequest(dpy, opcode, None,
gc->currentContextTag, None, None, &reply);
- gc->currentContextTag = 0;
+ gc->currentContextTag = 0;
+ }
}
static void
/*
** PERFORMANCE NOTE: A mode dependent fill image can speed things up.
- ** Other code uses the fastImageUnpack bit, but it is never set
- ** to GL_TRUE.
*/
- gc->fastImageUnpack = GL_FALSE;
gc->fillImage = __glFillImage;
gc->pc = gc->buf;
gc->bufEnd = gc->buf + bufSize;