wayland/actor-surface: Consider clones in is_on_logical_monitor()
While the check for clutter_actor_has_mapped_clones
clearly indicates
an intention to take clones into account, the following code
does not do so, likely because it predates the introduction of
clutter_actor_is_effectively_on_stage_view()
.
Switch to that newer API in order to take clones into account. This
avoids unnecessary wl_surface_send_enter()
and wl_surface_send_leave()
events when entering the overview, reducing client work.
Note: wl_surface_send_leave()
and wl_surface_send_enter()
may trigger a buffer_scale
or buffer_transform
change. Depending on the client implementation this may result in a buffer resize, potentially a quite heavy operation.
Edited by Robert Mader