aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/X11/ChkIfEv.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/lib/X11/ChkIfEv.c')
-rw-r--r--nx-X11/lib/X11/ChkIfEv.c26
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;
}