From: Po Lu Date: Mon, 13 Jun 2022 04:49:12 +0000 (+0800) Subject: Improve DND tooltip updating X-Git-Tag: emacs-29.0.90~1910^2~48 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=16df1f4fae5414556e905ec0f1c1c565e17cb7ae;p=emacs.git Improve DND tooltip updating * src/xterm.c (x_dnd_update_tooltip_now): Add missing part of last change. (x_monitors_changed_cb, handle_one_xevent): Only update if a change in monitor configuration really happened. --- diff --git a/src/xterm.c b/src/xterm.c index 4bc4c53eea2..81b3b5cbeff 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -15335,7 +15335,7 @@ x_dnd_update_tooltip_now (void) if (!x_dnd_in_progress || !x_dnd_update_tooltip) return; - dpyinfo = FRAME_DISPLAY_INFO (XFRAME (x_dnd_frame)); + dpyinfo = FRAME_DISPLAY_INFO (x_dnd_frame); rc = XQueryPointer (dpyinfo->display, dpyinfo->root_window, @@ -15721,14 +15721,14 @@ x_monitors_changed_cb (GdkScreen *gscr, gpointer user_data) ie.arg = terminal; kbd_buffer_store_event (&ie); - } - dpyinfo->last_monitor_attributes_list = current_monitors; + if (x_dnd_in_progress && x_dnd_update_tooltip) + x_dnd_monitors = current_monitors; - if (x_dnd_in_progress && x_dnd_update_tooltip) - x_dnd_monitors = current_monitors; + x_dnd_update_tooltip_now (); + } - x_dnd_update_tooltip_now (); + dpyinfo->last_monitor_attributes_list = current_monitors; } #endif @@ -21548,7 +21548,8 @@ handle_one_xevent (struct x_display_info *dpyinfo, if (x_dnd_in_progress && x_dnd_update_tooltip) x_dnd_monitors = current_monitors; - x_dnd_update_tooltip_now (); + if (inev.ie.kind != NO_EVENT) + x_dnd_update_tooltip_now (); } #endif OTHER: