diff options
| author | Eli Zaretskii <eliz@gnu.org> | 2023-10-21 08:06:07 -0400 |
|---|---|---|
| committer | Eli Zaretskii <eliz@gnu.org> | 2023-10-21 08:06:07 -0400 |
| commit | 52f25b791e686de4c8bf09aea63fba5b54137ae2 (patch) | |
| tree | 8696af9a2daa0eee538b85750bbf5258ed0c621d /src | |
| parent | 1b2083c2f3380400768a35fa3e665dcab209d0f1 (diff) | |
| parent | ab9d6482e3b1835c3e1a835fb7edd51b61797bb3 (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.c | 14 |
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 |
