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:
Jasper St. Pierre 2014-03-20 18:00:55 -04:00
parent 9696e785da
commit 42491f7724

View File

@ -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;