window-actor/wayland: Remove custom get_paint_volume() vfunc

It doesn't take all children - subsurfaces in this case - into
account, thus creating glitches if subsurfaces extend outside
of the toplevel surface.

Further more it doesn't seem to serve any special purpose - it was
added in f7315c9a36, a pretty big commit, and no discussion was
started about the code in question. So it was likely just overlooked
in the review process.

Closes https://gitlab.gnome.org/GNOME/mutter/-/issues/873
Closes https://gitlab.gnome.org/GNOME/mutter/-/issues/1316

(cherry picked from commit d722e59aac)
This commit is contained in:
Robert Mader 2020-06-29 14:34:10 +02:00
parent ef3dac7064
commit 4d8538d6a9

View File

@ -139,29 +139,6 @@ meta_window_actor_wayland_set_frozen (MetaWindowActor *actor,
{ {
} }
static gboolean
meta_window_actor_wayland_get_paint_volume (ClutterActor *actor,
ClutterPaintVolume *volume)
{
MetaSurfaceActor *surface;
surface = meta_window_actor_get_surface (META_WINDOW_ACTOR (actor));
if (surface)
{
ClutterActor *surface_actor = CLUTTER_ACTOR (surface);
const ClutterPaintVolume *child_volume;
child_volume = clutter_actor_get_transformed_paint_volume (surface_actor,
actor);
if (!child_volume)
return FALSE;
clutter_paint_volume_union (volume, child_volume);
}
return TRUE;
}
static void static void
meta_window_actor_wayland_update_regions (MetaWindowActor *actor) meta_window_actor_wayland_update_regions (MetaWindowActor *actor)
{ {
@ -171,9 +148,6 @@ static void
meta_window_actor_wayland_class_init (MetaWindowActorWaylandClass *klass) meta_window_actor_wayland_class_init (MetaWindowActorWaylandClass *klass)
{ {
MetaWindowActorClass *window_actor_class = META_WINDOW_ACTOR_CLASS (klass); MetaWindowActorClass *window_actor_class = META_WINDOW_ACTOR_CLASS (klass);
ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
actor_class->get_paint_volume = meta_window_actor_wayland_get_paint_volume;
window_actor_class->assign_surface_actor = meta_window_actor_wayland_assign_surface_actor; window_actor_class->assign_surface_actor = meta_window_actor_wayland_assign_surface_actor;
window_actor_class->frame_complete = meta_window_actor_wayland_frame_complete; window_actor_class->frame_complete = meta_window_actor_wayland_frame_complete;