summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Dreßler <verdre@v0yd.nl>2020-07-07 16:49:31 +0200
committerRobert Mader <robert.mader@posteo.de>2020-08-29 12:40:11 +0000
commit0b9a71ea3cb9c752e5748d002b45fd4cdfbf37dc (patch)
treeff6cc8c92f4ab8c8e9a7566d8b366020cd3071b9
parent35f847ac6dc237c23344038294fc0395ce40f718 (diff)
downloadmutter-0b9a71ea3cb9c752e5748d002b45fd4cdfbf37dc.tar.gz
wayland/surface: Don't update outputs recursively on mapped changes
There's no need to update the outputs recursively in case the actor gets mapped or unmapped. That's because mapping happens recursively itself, so if a window with multiple subsurfaces is shown, all subsurfaces will receive a "notify::mapped" signal. Since this was the only remaining user of meta_wayland_surface_update_outputs_recursively(), we can now remove that function. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1358
-rw-r--r--src/wayland/meta-wayland-actor-surface.c5
-rw-r--r--src/wayland/meta-wayland-surface.c11
-rw-r--r--src/wayland/meta-wayland-surface.h2
3 files changed, 1 insertions, 17 deletions
diff --git a/src/wayland/meta-wayland-actor-surface.c b/src/wayland/meta-wayland-actor-surface.c
index 5d4478253..ed7c45411 100644
--- a/src/wayland/meta-wayland-actor-surface.c
+++ b/src/wayland/meta-wayland-actor-surface.c
@@ -74,9 +74,6 @@ clear_surface_actor (MetaWaylandActorSurface *actor_surface)
meta_wayland_surface_notify_geometry_changed,
surface);
g_signal_handlers_disconnect_by_func (priv->actor,
- meta_wayland_surface_update_outputs_recursively,
- surface);
- g_signal_handlers_disconnect_by_func (priv->actor,
meta_wayland_surface_update_outputs,
surface);
g_clear_object (&priv->actor);
@@ -446,7 +443,7 @@ meta_wayland_actor_surface_reset_actor (MetaWaylandActorSurface *actor_surface)
G_CALLBACK (meta_wayland_surface_notify_geometry_changed),
surface);
g_signal_connect_swapped (priv->actor, "notify::mapped",
- G_CALLBACK (meta_wayland_surface_update_outputs_recursively),
+ G_CALLBACK (meta_wayland_surface_update_outputs),
surface);
g_signal_connect_swapped (priv->actor, "stage-views-changed",
G_CALLBACK (meta_wayland_surface_update_outputs),
diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c
index 88e84b396..d1894a8cc 100644
--- a/src/wayland/meta-wayland-surface.c
+++ b/src/wayland/meta-wayland-surface.c
@@ -1296,17 +1296,6 @@ meta_wayland_surface_update_outputs (MetaWaylandSurface *surface)
}
void
-meta_wayland_surface_update_outputs_recursively (MetaWaylandSurface *surface)
-{
- MetaWaylandSurface *subsurface_surface;
-
- meta_wayland_surface_update_outputs (surface);
-
- META_WAYLAND_SURFACE_FOREACH_SUBSURFACE (surface, subsurface_surface)
- meta_wayland_surface_update_outputs_recursively (subsurface_surface);
-}
-
-void
meta_wayland_surface_notify_unmapped (MetaWaylandSurface *surface)
{
g_signal_emit (surface, surface_signals[SURFACE_UNMAPPED], 0);
diff --git a/src/wayland/meta-wayland-surface.h b/src/wayland/meta-wayland-surface.h
index c9ed38e30..0c7298886 100644
--- a/src/wayland/meta-wayland-surface.h
+++ b/src/wayland/meta-wayland-surface.h
@@ -336,8 +336,6 @@ void meta_wayland_surface_notify_subsurface_state_changed (MetaWa
void meta_wayland_surface_notify_unmapped (MetaWaylandSurface *surface);
-void meta_wayland_surface_update_outputs_recursively (MetaWaylandSurface *surface);
-
int meta_wayland_surface_get_width (MetaWaylandSurface *surface);
int meta_wayland_surface_get_height (MetaWaylandSurface *surface);