Commit 30c542dd authored by Sebastian Keller's avatar Sebastian Keller Committed by Jonas Ådahl
Browse files

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 GNOME/mutter#1668

Part-of: <GNOME/mutter!1748>


(cherry picked from commit c2968c89)
parent 894a6d09
Pipeline #264194 passed with stages
in 6 minutes and 38 seconds
......@@ -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;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment