summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2023-10-21 08:06:07 -0400
committerEli Zaretskii <eliz@gnu.org>2023-10-21 08:06:07 -0400
commit52f25b791e686de4c8bf09aea63fba5b54137ae2 (patch)
tree8696af9a2daa0eee538b85750bbf5258ed0c621d /src
parent1b2083c2f3380400768a35fa3e665dcab209d0f1 (diff)
parentab9d6482e3b1835c3e1a835fb7edd51b61797bb3 (diff)
Merge from origin/emacs-29
ab9d6482e3b ; Update ChangeLog.4 and etc/AUTHORS. d9e1605122b Correctly register focus events concomitant with alpha ch... 194e219825c * doc/man/emacsclient.1: Add missing options.
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 517bdf57aab..5d491e63778 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -11820,7 +11820,9 @@ x_frame_highlight (struct frame *f)
x_stop_ignoring_errors (dpyinfo);
unblock_input ();
gui_update_cursor (f, true);
- x_set_frame_alpha (f);
+
+ if (!FRAME_X_OUTPUT (f)->alpha_identical_p)
+ x_set_frame_alpha (f);
}
static void
@@ -11844,7 +11846,15 @@ x_frame_unhighlight (struct frame *f)
unblock_input ();
gui_update_cursor (f, true);
- x_set_frame_alpha (f);
+
+ /* Eschew modifying the frame alpha when the alpha values for
+ focused and background frames are identical; otherwise, this will
+ upset the order in which changes to the alpha property
+ immediately subsequent to a focus change are propagated into a
+ frame's alpha property. (bug#66398) */
+
+ if (!FRAME_X_OUTPUT (f)->alpha_identical_p)
+ x_set_frame_alpha (f);
}
/* The focus has changed. Update the frames as necessary to reflect