From: Po Lu Date: Sun, 3 Jul 2022 11:48:55 +0000 (+0800) Subject: Improve performance when rejecting XI touch event X-Git-Tag: emacs-29.0.90~1447^2~1242 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=cfee07d4dd6317bc235046b99542fa76dc676dde;p=emacs.git Improve performance when rejecting XI touch event * src/xterm.c (handle_one_xevent): Avoid sync handling simple error. --- diff --git a/src/xterm.c b/src/xterm.c index 819f7fd7e49..dc7e3283a5c 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -21676,11 +21676,12 @@ handle_one_xevent (struct x_display_info *dpyinfo, if (!menu_bar_p && !tool_bar_p) { - x_catch_errors (dpyinfo->display); - if (f && device->direct_p) { *finish = X_EVENT_DROP; + + x_catch_errors (dpyinfo->display); + if (x_input_grab_touch_events) XIAllowTouchEvents (dpyinfo->display, xev->deviceid, xev->detail, xev->event, XIAcceptTouch); @@ -21700,13 +21701,18 @@ handle_one_xevent (struct x_display_info *dpyinfo, if (source) inev.ie.device = source->name; } + + x_uncatch_errors (); } #ifndef HAVE_GTK3 else if (x_input_grab_touch_events) - XIAllowTouchEvents (dpyinfo->display, xev->deviceid, - xev->detail, xev->event, XIRejectTouch); + { + x_ignore_errors_for_next_request (dpyinfo); + XIAllowTouchEvents (dpyinfo->display, xev->deviceid, + xev->detail, xev->event, XIRejectTouch); + x_stop_ignoring_errors (dpyinfo); + } #endif - x_uncatch_errors (); } else {