Added few more stubs so that control reaches to DestroyDevice().
[mesa.git] / src / glx / glx_error.c
index d44a80ca6592ae17475c4ace69c50831f95d4b0b..653cbeb2d2a32a3504e1f383923e99cfe6468334 100644 (file)
 #include "glx_error.h"
 
 void
-__glXSendError(Display * dpy, int errorCode, unsigned long resourceID,
-               unsigned long minorCode, bool coreX11error)
+__glXSendError(Display * dpy, int_fast8_t errorCode, uint_fast32_t resourceID,
+               uint_fast16_t minorCode, bool coreX11error)
 {
    struct glx_display *glx_dpy = __glXInitialize(dpy);
-   struct glx_context *gc = __glXGetCurrentContext();
    xError error;
 
    assert(glx_dpy);
-   assert(gc);
 
    LockDisplay(dpy);
 
@@ -59,7 +57,26 @@ __glXSendError(Display * dpy, int errorCode, unsigned long resourceID,
    error.sequenceNumber = dpy->request;
    error.resourceID = resourceID;
    error.minorCode = minorCode;
-   error.majorCode = gc ? gc->majorOpcode : 0;
+   error.majorCode = glx_dpy->majorOpcode;
+
+   _XError(dpy, &error);
+
+   UnlockDisplay(dpy);
+}
+
+void
+__glXSendErrorForXcb(Display * dpy, const xcb_generic_error_t *err)
+{
+   xError error;
+
+   LockDisplay(dpy);
+
+   error.type = X_Error;
+   error.errorCode = err->error_code;
+   error.sequenceNumber = err->sequence;
+   error.resourceID = err->resource_id;
+   error.minorCode = err->minor_code;
+   error.majorCode = err->major_code;
 
    _XError(dpy, &error);