Added few more stubs so that control reaches to DestroyDevice().
[mesa.git] / src / glx / glx_error.c
index 0855c35951a4e00923416f789c8b70f270fac913..653cbeb2d2a32a3504e1f383923e99cfe6468334 100644 (file)
@@ -39,11 +39,9 @@ __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_fast8_t errorCode, uint_fast32_t 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);