diff options
author | Ian Romanick <[email protected]> | 2011-12-12 09:54:25 -0800 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2011-12-23 08:40:30 -0800 |
commit | fba400072fb64dd326d35bb12a27ca17f9e03ada (patch) | |
tree | 3f85717b80b541e8b2f57a976226a422b0a4380f /src/glx | |
parent | efa93ae449b6dc8437ee7240a8ea050a0d1699e0 (diff) |
glx: Deliver an xlib style error to the application from an XCB error
Signed-off-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/glx')
-rw-r--r-- | src/glx/glx_error.c | 19 | ||||
-rw-r--r-- | src/glx/glx_error.h | 4 |
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); |