[mutter] frame: Fix crash when clicking below titlebar with broken gtk themes
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] frame: Fix crash when clicking below titlebar with broken gtk themes
- Date: Mon, 8 Mar 2021 21:40:07 +0000 (UTC)
commit c2968c89fef3d67f161cb01481a8a2939c45a425
Author: Sebastian Keller <skeller gnome org>
Date: Sat Feb 27 01:00:25 2021 +0100
frame: Fix crash when clicking below titlebar with broken gtk themes
When a gtk theme uses larger shadows for the unfocused state than for
the focused one, this can cause a crash in meta_frame_left_click_event.
Since whether to call meta_frame_left_click_event is decided based on
the decoration size before focusing and the control that was clicked on
after focusing, this can result in an event handled in
meta_frame_left_click_event being on the client area.
Fixes https://gitlab.gnome.org/GNOME/mutter/-/issues/1668
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1748>
src/ui/frames.c | 9 +++++++++
1 file changed, 9 insertions(+)
---
diff --git a/src/ui/frames.c b/src/ui/frames.c
index 46e62682c7..48b2a361c2 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -1112,6 +1112,15 @@ meta_frame_left_click_event (MetaUIFrame *frame,
* that cannot be resized (e. g. it is maximized and the theme
* currently used has borders for maximized windows), see #751884 */
return FALSE;
+ case META_FRAME_CONTROL_CLIENT_AREA:
+ /* This can happen with broken gtk themes that have a larger shadow size
+ * in the unfocused state than in the focused one. Then when clicking
+ * below the titlebar area in the unfocused state would still be
+ * considered a click on the titlebar due to it being shifted down because
+ * of the shadow. This then causes the window to be focused before this
+ * function is called, which removes the shadow such that the same
+ * position is now considered to be on the client area */
+ return FALSE;
default:
g_assert_not_reached ();
return FALSE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]