window-actor: Fix check to clip beneath the window

We want to clip it away if 1) The window is fully opaque or
2) If it's translucent but has a frame (as explained in the comment
above). The code didn't quite match and we were only applying it on
case #2.

Case #1 is far more common, and saves us from pushing some drawing
that we know will be covered in the end.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/698
This commit is contained in:
Carlos Garnacho 2019-01-27 15:43:35 +01:00
parent 0f6ab787ac
commit cc5968109b

View File

@ -647,7 +647,10 @@ clip_shadow_under_window (MetaWindowActor *self)
MetaWindowActorPrivate *priv =
meta_window_actor_get_instance_private (self);
return is_non_opaque (self) && priv->window->frame;
if (priv->window->frame)
return TRUE;
return !is_non_opaque (self);
}
static void