[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#66398: 29.1; Buggy handling of transparency changes / blur/unblur
From: |
Po Lu |
Subject: |
bug#66398: 29.1; Buggy handling of transparency changes / blur/unblur |
Date: |
Mon, 16 Oct 2023 08:51:31 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Tollef Fog Heen <tfheen@err.no> writes:
> There are two places where XChangeProperty is called in that function, I
> put the backtrace on both, but only one seems to be hit after startup.
>
> I did:
> - start emacs under gdb, find the frame id, etc, pass that to xprop
> - focus emacs frame
> - unfocus emacs frame
> - focus emacs frame
> - M-x
> - unfocus emacs frame, C-c in gdb
>
> I assume you're not interested in the initial backtraces from when emacs
> is starting up.
Oh, I see, thanks. Please test the attached patch:
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
- bug#66398: 29.1; Buggy handling of transparency changes / blur/unblur, Tollef Fog Heen, 2023/10/07
- bug#66398: 29.1; Buggy handling of transparency changes / blur/unblur, Eli Zaretskii, 2023/10/14
- bug#66398: 29.1; Buggy handling of transparency changes / blur/unblur, Po Lu, 2023/10/14
- bug#66398: 29.1; Buggy handling of transparency changes / blur/unblur, Tollef Fog Heen, 2023/10/14
- bug#66398: 29.1; Buggy handling of transparency changes / blur/unblur, Po Lu, 2023/10/14
- bug#66398: 29.1; Buggy handling of transparency changes / blur/unblur, Tollef Fog Heen, 2023/10/15
- bug#66398: 29.1; Buggy handling of transparency changes / blur/unblur,
Po Lu <=
- bug#66398: 29.1; Buggy handling of transparency changes / blur/unblur, Tollef Fog Heen, 2023/10/16
- bug#66398: 29.1; Buggy handling of transparency changes / blur/unblur, Po Lu, 2023/10/16
- bug#66398: 29.1; Buggy handling of transparency changes / blur/unblur, Eli Zaretskii, 2023/10/16
- bug#66398: 29.1; Buggy handling of transparency changes / blur/unblur, Po Lu, 2023/10/16