|
|
1.1 ! root 1: #include <X/mit-copyright.h> ! 2: ! 3: /* $Header: XPeekEvent.c,v 10.5 86/04/22 15:21:50 jg Rel $ */ ! 4: /* Copyright Massachusetts Institute of Technology 1985 */ ! 5: ! 6: #include "XlibInternal.h" ! 7: ! 8: extern _QEvent *_qfree; ! 9: ! 10: /* Flush output and (wait for and) return the next event in the queue, ! 11: * BUT do not remove it from the queue. ! 12: */ ! 13: ! 14: XPeekEvent (event) ! 15: register XEvent *event; ! 16: { ! 17: register _QEvent *qelt; ! 18: register Display *dpy = _XlibCurrentDisplay; ! 19: ! 20: _XFlush (dpy); ! 21: if (qelt = dpy->head) { ! 22: *event = qelt->event; ! 23: return; ! 24: } ! 25: ! 26: while (1) { ! 27: _XRead (dpy, (char *)event, sizeof(XEvent)); ! 28: if (event->type == X_Error) ! 29: _XError (dpy, (XErrorEvent *) event); ! 30: else { /* it's an event packet */ ! 31: _XEnq (dpy, event); ! 32: return; ! 33: } ! 34: } ! 35: } ! 36:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.