summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/glx/glx_error.c19
-rw-r--r--src/glx/glx_error.h4
2 files changed, 23 insertions, 0 deletions
diff --git a/src/glx/glx_error.c b/src/glx/glx_error.c
index 0855c35951a..b3860db2e37 100644
--- a/src/glx/glx_error.c
+++ b/src/glx/glx_error.c
@@ -65,3 +65,22 @@ __glXSendError(Display * dpy, int_fast8_t errorCode, uint_fast32_t resourceID,
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);
+
+ UnlockDisplay(dpy);
+}
diff --git a/src/glx/glx_error.h b/src/glx/glx_error.h
index 19be38b4425..eaf6b814c5e 100644
--- a/src/glx/glx_error.h
+++ b/src/glx/glx_error.h
@@ -29,7 +29,11 @@
#include <stdbool.h>
#include <stdint.h>
#include <X11/Xlib.h>
+#include <xcb/xcb.h>
void __glXSendError(Display * dpy, int_fast8_t errorCode,
uint_fast32_t resourceID, uint_fast16_t minorCode,
bool coreX11error);
+
+_X_HIDDEN void __glXSendErrorForXcb(Display * dpy,
+ const xcb_generic_error_t *err);