wayland/actor-surface: Don't notify geometry-changed on mapped changes

There's no reason to notify the surface that its geometry changed when
the visibility of the actor changes. This is only needed to update the
outputs of the surface, so do that directly instead.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1235
This commit is contained in:
Jonas Dreßler 2020-05-04 00:20:10 +02:00
parent 79d981aac9
commit c65f63b647

View File

@ -73,6 +73,9 @@ clear_surface_actor (MetaWaylandActorSurface *actor_surface)
g_signal_handlers_disconnect_by_func (priv->actor,
meta_wayland_surface_notify_geometry_changed,
surface);
g_signal_handlers_disconnect_by_func (priv->actor,
meta_wayland_surface_update_outputs_recursively,
surface);
g_clear_object (&priv->actor);
}
@ -416,6 +419,6 @@ 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_notify_geometry_changed),
G_CALLBACK (meta_wayland_surface_update_outputs_recursively),
surface);
}