diff options
Diffstat (limited to 'nx-X11/lib/X11/ChkIfEv.c')
-rw-r--r-- | nx-X11/lib/X11/ChkIfEv.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/nx-X11/lib/X11/ChkIfEv.c b/nx-X11/lib/X11/ChkIfEv.c index 5de869492..313e4395c 100644 --- a/nx-X11/lib/X11/ChkIfEv.c +++ b/nx-X11/lib/X11/ChkIfEv.c @@ -23,28 +23,27 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The Open Group. */ -/* $XFree86$ */ #ifdef HAVE_CONFIG_H #include <config.h> #endif #include "Xlibint.h" -/* +/* * Check existing events in queue to find if any match. If so, return. * If not, flush buffer and see if any more events are readable. If one * matches, return. If all else fails, tell the user no events found. */ -Bool XCheckIfEvent (dpy, event, predicate, arg) - register Display *dpy; +Bool XCheckIfEvent ( + register Display *dpy, + register XEvent *event, /* XEvent to be filled in. */ Bool (*predicate)( Display* /* display */, XEvent* /* event */, char* /* arg */ - ); /* function to call */ - register XEvent *event; /* XEvent to be filled in. */ - char *arg; + ), /* function to call */ + char *arg) { register _XQEvent *prev, *qelt; unsigned long qe_serial = 0; @@ -60,6 +59,7 @@ Bool XCheckIfEvent (dpy, event, predicate, arg) && (*predicate)(dpy, &qelt->event, arg)) { *event = qelt->event; _XDeq(dpy, prev, qelt); + _XStoreEventCookie(dpy, event); UnlockDisplay(dpy); return True; } @@ -90,15 +90,16 @@ Bool XCheckIfEvent (dpy, event, predicate, arg) * events. */ -Bool XCheckIfEventNoFlush (dpy, event, predicate, arg) - register Display *dpy; +Bool XCheckIfEventNoFlush ( + register Display *dpy, + register XEvent *event, /* XEvent to be filled in. */ Bool (*predicate)( Display* /* display */, XEvent* /* event */, char* /* arg */ - ); /* function to call */ - register XEvent *event; /* XEvent to be filled in. */ - char *arg; + ), /* function to call */ + char *arg) + { register _XQEvent *prev, *qelt; unsigned long qe_serial = 0; @@ -114,6 +115,7 @@ Bool XCheckIfEventNoFlush (dpy, event, predicate, arg) && (*predicate)(dpy, &qelt->event, arg)) { *event = qelt->event; _XDeq(dpy, prev, qelt); + _XStoreEventCookie(dpy, event); UnlockDisplay(dpy); return True; } |