emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 16df1f4fae: Improve DND tooltip updating


From: Po Lu
Subject: master 16df1f4fae: Improve DND tooltip updating
Date: Mon, 13 Jun 2022 00:50:15 -0400 (EDT)

branch: master
commit 16df1f4fae5414556e905ec0f1c1c565e17cb7ae
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    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.
---
 src/xterm.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/xterm.c b/src/xterm.c
index 4bc4c53eea..81b3b5cbef 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:



reply via email to

[Prev in Thread] Current Thread [Next in Thread]