glx: Add implementation of __GLXContext->loseCurrent for direct ctxts

This adds a dummy implementation for the loseCurrent function in
__GLXContext for direct contexts which just returns GL_TRUE. Without
this then the X server can crash if receives a MakeCurrent message for
a direct context because it will attempt to call loseCurrent when
cleaning up the client in the callback for ClientStateGone.

[ajax: added assumed s-o-b line]

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86531
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Neil Roberts <neil@linux.intel.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Neil Roberts 2014-12-01 16:06:17 -05:00 committed by Keith Packard
parent 6704bb0ed7
commit c1455f76c6

View File

@ -198,6 +198,12 @@ __glXdirectContextDestroy(__GLXcontext * context)
free(context);
}
static int
__glXdirectContextLoseCurrent(__GLXcontext * context)
{
return GL_TRUE;
}
_X_HIDDEN __GLXcontext *
__glXdirectContextCreate(__GLXscreen * screen,
__GLXconfig * modes, __GLXcontext * shareContext)
@ -209,6 +215,7 @@ __glXdirectContextCreate(__GLXscreen * screen,
return NULL;
context->destroy = __glXdirectContextDestroy;
context->loseCurrent = __glXdirectContextLoseCurrent;
return context;
}