glx: Use __glXSendError instead of open-coding it
This also fixes a bug, the error path through MakeCurrent didn't translate the error code by the extension's error base. Signed-off-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
@@ -392,15 +392,7 @@ glXCreateContext(Display * dpy, XVisualInfo * vis,
|
||||
config = glx_config_find_visual(psc->visuals, vis->visualid);
|
||||
|
||||
if (config == NULL) {
|
||||
xError error;
|
||||
|
||||
error.errorCode = BadValue;
|
||||
error.resourceID = vis->visualid;
|
||||
error.sequenceNumber = dpy->request;
|
||||
error.type = X_Error;
|
||||
error.majorCode = __glXSetupForCommand(dpy);
|
||||
error.minorCode = X_GLXCreateContext;
|
||||
_XError(dpy, &error);
|
||||
__glXSendError(dpy, BadValue, vis->visualid, X_GLXCreateContext, True);
|
||||
return None;
|
||||
}
|
||||
|
||||
|
||||
@@ -36,8 +36,8 @@
|
||||
#include <pthread.h>
|
||||
|
||||
#include "glxclient.h"
|
||||
|
||||
#include "glapi.h"
|
||||
#include "glx_error.h"
|
||||
|
||||
/*
|
||||
** We setup some dummy structures here so that the API can be used
|
||||
@@ -165,21 +165,6 @@ glXGetCurrentDrawable(void)
|
||||
return gc->currentDrawable;
|
||||
}
|
||||
|
||||
static void
|
||||
__glXGenerateError(Display * dpy, XID resource,
|
||||
BYTE errorCode, CARD16 minorCode)
|
||||
{
|
||||
xError error;
|
||||
|
||||
error.errorCode = errorCode;
|
||||
error.resourceID = resource;
|
||||
error.sequenceNumber = dpy->request;
|
||||
error.type = X_Error;
|
||||
error.majorCode = __glXSetupForCommand(dpy);
|
||||
error.minorCode = minorCode;
|
||||
_XError(dpy, &error);
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a particular context current.
|
||||
*
|
||||
@@ -228,7 +213,8 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,
|
||||
if (gc->vtable->bind(gc, oldGC, draw, read) != Success) {
|
||||
__glXSetCurrentContextNull();
|
||||
__glXUnlock();
|
||||
__glXGenerateError(dpy, None, GLXBadContext, X_GLXMakeContextCurrent);
|
||||
__glXSendError(dpy, GLXBadContext, None, X_GLXMakeContextCurrent,
|
||||
False);
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user