From 42491f7724b9acee737ffa840fc7aad31170ff5a Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Thu, 20 Mar 2014 18:00:55 -0400 Subject: [PATCH] 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. --- src/core/window.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/core/window.c b/src/core/window.c index 1f9796443..eb2ed9dce 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -4213,8 +4213,6 @@ meta_window_move_resize_internal (MetaWindow *window, * we don't decorate wayland clients), and the client has acknowledged * the window size change. */ - gboolean frame_shape_changed = FALSE; - gboolean is_configure_request; gboolean do_gravity_adjust; 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 */ - 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); window->frame_bounds = NULL;