From: Po Lu Date: Wed, 3 Aug 2022 12:17:18 +0000 (+0800) Subject: ; * src/xterm.c (x_if_event): Minor speed improvements. X-Git-Tag: emacs-29.0.90~1447^2~506 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6fb206329f9c3f14154bd425e08b2e72e7f31855;p=emacs.git ; * src/xterm.c (x_if_event): Minor speed improvements. --- diff --git a/src/xterm.c b/src/xterm.c index eb1a557e883..f82340958e5 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -6605,12 +6605,17 @@ x_if_event (Display *dpy, XEvent *event_return, current_time = current_timespec (); target = timespec_add (current_time, timeout); + /* Check if an event is already in the queue. If it is, avoid + syncing. */ + if (XCheckIfEvent (dpy, event_return, predicate, arg)) + return 0; + while (true) { /* Get events into the queue. */ XSync (dpy, False); - /* Check if an event is now in the queue. */ + /* Look for an event again. */ if (XCheckIfEvent (dpy, event_return, predicate, arg)) return 0;