window: Actually interpret the FRAME_SHAPE_CHANGED result
When I refactored this out into a vfunc, I forgot to change the code that interprets the result flags to actually respect the new FRAME_SHAPE_CHANGED result flag. Since we weren't ever clearing the frame bounds, this meant that the "shadow clip" wasn't ever updated as a result. Since right now all Wayland surfaces are considered ARGB32, we always clip shadows under frames, and thus shadows had this weird "punch-out" from the first frame shape.
This commit is contained in:
parent
9696e785da
commit
42491f7724
@ -4213,8 +4213,6 @@ meta_window_move_resize_internal (MetaWindow *window,
|
|||||||
* we don't decorate wayland clients), and the client has acknowledged
|
* we don't decorate wayland clients), and the client has acknowledged
|
||||||
* the window size change.
|
* the window size change.
|
||||||
*/
|
*/
|
||||||
gboolean frame_shape_changed = FALSE;
|
|
||||||
|
|
||||||
gboolean is_configure_request;
|
gboolean is_configure_request;
|
||||||
gboolean do_gravity_adjust;
|
gboolean do_gravity_adjust;
|
||||||
gboolean is_user_action;
|
gboolean is_user_action;
|
||||||
@ -4351,7 +4349,7 @@ meta_window_move_resize_internal (MetaWindow *window,
|
|||||||
* b) all constraints are obeyed by window->rect and frame->rect
|
* b) all constraints are obeyed by window->rect and frame->rect
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (frame_shape_changed && window->frame_bounds)
|
if ((result & META_MOVE_RESIZE_RESULT_FRAME_SHAPE_CHANGED) && window->frame_bounds)
|
||||||
{
|
{
|
||||||
cairo_region_destroy (window->frame_bounds);
|
cairo_region_destroy (window->frame_bounds);
|
||||||
window->frame_bounds = NULL;
|
window->frame_bounds = NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user