From 63a21224a505fc22b919eafd1df8ad68b31457ca Mon Sep 17 00:00:00 2001 From: Po Lu Date: Sat, 26 Feb 2022 08:54:36 +0800 Subject: [PATCH] * src/xterm.c (handle_one_xevent): Set user time for xwidgets as well. --- src/xterm.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/xterm.c b/src/xterm.c index 32f76d156a6..040397777b6 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -10572,6 +10572,8 @@ handle_one_xevent (struct x_display_info *dpyinfo, goto OTHER; case LeaveNotify: + x_display_set_last_user_time (dpyinfo, event->xcrossing.time); + #ifdef HAVE_XWIDGETS { struct xwidget_view *xvw = xwidget_view_from_window (event->xcrossing.window); @@ -10583,7 +10585,6 @@ handle_one_xevent (struct x_display_info *dpyinfo, } } #endif - x_display_set_last_user_time (dpyinfo, event->xcrossing.time); if (x_top_window_to_frame (dpyinfo, event->xcrossing.window)) x_detect_focus_change (dpyinfo, any, event, &inev.ie); @@ -10919,6 +10920,9 @@ handle_one_xevent (struct x_display_info *dpyinfo, case ButtonRelease: case ButtonPress: { + if (event->xbutton.type == ButtonPress) + x_display_set_last_user_time (dpyinfo, event->xbutton.time); + #ifdef HAVE_XWIDGETS struct xwidget_view *xvw = xwidget_view_from_window (event->xmotion.window); @@ -10948,9 +10952,6 @@ handle_one_xevent (struct x_display_info *dpyinfo, memset (&compose_status, 0, sizeof (compose_status)); dpyinfo->last_mouse_glyph_frame = NULL; - if (event->xbutton.type == ButtonPress) - x_display_set_last_user_time (dpyinfo, event->xbutton.time); - f = mouse_or_wdesc_frame (dpyinfo, event->xmotion.window); if (f && event->xbutton.type == ButtonPress && !popup_activated () @@ -11318,6 +11319,8 @@ handle_one_xevent (struct x_display_info *dpyinfo, enter->deviceid, false); #endif + x_display_set_last_user_time (dpyinfo, xi_event->time); + #ifdef HAVE_XWIDGETS { struct xwidget_view *xvw @@ -11333,8 +11336,6 @@ handle_one_xevent (struct x_display_info *dpyinfo, } #endif - x_display_set_last_user_time (dpyinfo, xi_event->time); - if (any) x_detect_focus_change (dpyinfo, any, event, &inev.ie); @@ -11485,6 +11486,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, if (xv) { uint state = xev->mods.effective; + x_display_set_last_user_time (dpyinfo, xev->time); if (xev->buttons.mask_len) { @@ -11667,6 +11669,9 @@ handle_one_xevent (struct x_display_info *dpyinfo, } #endif + if (xev->evtype == XI_ButtonPress) + x_display_set_last_user_time (dpyinfo, xev->time); + #ifdef HAVE_XWIDGETS xvw = xwidget_view_from_window (xev->event); if (xvw) @@ -11701,9 +11706,6 @@ handle_one_xevent (struct x_display_info *dpyinfo, dpyinfo->last_mouse_glyph_frame = NULL; - if (xev->evtype == XI_ButtonPress) - x_display_set_last_user_time (dpyinfo, xev->time); - f = mouse_or_wdesc_frame (dpyinfo, xev->event); if (f && xev->evtype == XI_ButtonPress -- 2.39.5