summaryrefslogtreecommitdiff
path: root/src/Xvlibint.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Xvlibint.h')
-rw-r--r--src/Xvlibint.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/Xvlibint.h b/src/Xvlibint.h
index af46605..c2ae7d6 100644
--- a/src/Xvlibint.h
+++ b/src/Xvlibint.h
@@ -44,15 +44,12 @@ SOFTWARE.
#include <X11/extensions/Xvproto.h>
#include <X11/extensions/Xvlib.h>
+/* names in Xvproto.h don't match the expectation of Xlib's GetReq* macros,
+ so we have to provide our own implementation */
+
#define XvGetReq(name, req) \
- WORD64ALIGN \
- if ((dpy->bufptr + SIZEOF(xv##name##Req)) > dpy->bufmax) \
- _XFlush(dpy); \
- req = (xv##name##Req *)(dpy->last_req = dpy->bufptr); \
- req->reqType = info->codes->major_opcode; \
- req->xvReqType = xv_##name; \
- req->length = (SIZEOF(xv##name##Req)) >> 2; \
- dpy->bufptr += SIZEOF(xv##name##Req); \
- dpy->request++
+ req = (xv##name##Req *) _XGetRequest( \
+ dpy, (CARD8) info->codes->major_opcode, SIZEOF(xv##name##Req)); \
+ req->xvReqType = xv_##name;
#endif /* XVLIBINT_H */