From d722e59aacf2bec62d523992296a252974131304 Mon Sep 17 00:00:00 2001 From: Robert Mader Date: Mon, 29 Jun 2020 14:34:10 +0200 Subject: [PATCH] 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 f7315c9a36462, 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 --- src/compositor/meta-window-actor-wayland.c | 26 ---------------------- 1 file changed, 26 deletions(-) diff --git a/src/compositor/meta-window-actor-wayland.c b/src/compositor/meta-window-actor-wayland.c index a287fdcba..cab6bbc84 100644 --- a/src/compositor/meta-window-actor-wayland.c +++ b/src/compositor/meta-window-actor-wayland.c @@ -141,29 +141,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 meta_window_actor_wayland_update_regions (MetaWindowActor *actor) { @@ -173,9 +150,6 @@ static void meta_window_actor_wayland_class_init (MetaWindowActorWaylandClass *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->frame_complete = meta_window_actor_wayland_frame_complete;