]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix flicker when moving tooltips between frames during mouse drag-and-drop
authorPo Lu <luangruo@yahoo.com>
Tue, 26 Jul 2022 08:12:06 +0000 (16:12 +0800)
committerPo Lu <luangruo@yahoo.com>
Tue, 26 Jul 2022 08:12:06 +0000 (16:12 +0800)
* src/haikufns.c (Fx_show_tip):
* src/nsfns.m (Fx_show_tip): Allow sharing existing tooltip
frames between any two frames.
* src/xfns.c (Fx_show_tip): Allow that but only between frames
on the same X display.

src/haikufns.c
src/nsfns.m
src/xfns.c

index 67f79a31669cbbc27caed5f80fe7365b5d857a0a..f3667ac2f9db025df112285f88ff81b1a85f20af 100644 (file)
@@ -2405,7 +2405,6 @@ DEFUN ("x-show-tip", Fx_show_tip, Sx_show_tip, 1, 6, 0,
   if (!NILP (tip_frame) && FRAME_LIVE_P (XFRAME (tip_frame)))
     {
       if (FRAME_VISIBLE_P (XFRAME (tip_frame))
-         && EQ (frame, tip_last_frame)
          && !NILP (Fequal_including_properties (tip_last_string, string))
          && !NILP (Fequal (tip_last_parms, parms)))
        {
index b0b779bd41c3b996858004b50c651e117cb055d8..433df0596101a08fa1b6e1ef86df22404df82d1c 100644 (file)
@@ -3292,7 +3292,6 @@ DEFUN ("x-show-tip", Fx_show_tip, Sx_show_tip, 1, 6, 0,
       if (!NILP (tip_frame) && FRAME_LIVE_P (XFRAME (tip_frame)))
        {
          if (FRAME_VISIBLE_P (XFRAME (tip_frame))
-             && EQ (frame, tip_last_frame)
              && !NILP (Fequal_including_properties (tip_last_string, string))
              && !NILP (Fequal (tip_last_parms, parms)))
            {
index ce867c1619cfd2a432ed09a017a1f952eb960761..076cd97875af98f127c19f907f08d9f7618e1b09 100644 (file)
@@ -8681,7 +8681,8 @@ Text larger than the specified size is clipped.  */)
   if (!NILP (tip_frame) && FRAME_LIVE_P (XFRAME (tip_frame)))
     {
       if (FRAME_VISIBLE_P (XFRAME (tip_frame))
-         && BASE_EQ (frame, tip_last_frame)
+         && (FRAME_X_DISPLAY (XFRAME (frame))
+             == FRAME_X_DISPLAY (XFRAME (tip_last_frame)))
          && !NILP (Fequal_including_properties (tip_last_string, string))
          && !NILP (Fequal (tip_last_parms, parms)))
        {