compositor/native: Consider Wayland subsurfaces for scanout
If a Wayland subsurface is the topmost actor, consider in for scanout as well. This will extend our scanout capabilities to apps like Firefox While on it, correct a unnessary type check to a NULL check. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2211>
This commit is contained in:
parent
8abe876d15
commit
df3f81e709
@ -95,9 +95,6 @@ maybe_assign_primary_plane (MetaCompositor *compositor)
|
|||||||
if (clutter_actor_has_transitions (CLUTTER_ACTOR (window_actor)))
|
if (clutter_actor_has_transitions (CLUTTER_ACTOR (window_actor)))
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
if (clutter_actor_get_n_children (CLUTTER_ACTOR (window_actor)) != 1)
|
|
||||||
goto done;
|
|
||||||
|
|
||||||
window = meta_window_actor_get_meta_window (window_actor);
|
window = meta_window_actor_get_meta_window (window_actor);
|
||||||
if (!window)
|
if (!window)
|
||||||
goto done;
|
goto done;
|
||||||
@ -114,8 +111,10 @@ maybe_assign_primary_plane (MetaCompositor *compositor)
|
|||||||
if (!COGL_IS_ONSCREEN (framebuffer))
|
if (!COGL_IS_ONSCREEN (framebuffer))
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
surface_actor = meta_window_actor_get_surface (window_actor);
|
surface_actor = meta_window_actor_get_topmost_surface (window_actor);
|
||||||
if (!META_IS_SURFACE_ACTOR_WAYLAND (surface_actor))
|
if (!surface_actor ||
|
||||||
|
CLUTTER_ACTOR (surface_actor) !=
|
||||||
|
clutter_actor_get_last_child (CLUTTER_ACTOR (window_actor)))
|
||||||
goto done;
|
goto done;
|
||||||
surface_actor_wayland = META_SURFACE_ACTOR_WAYLAND (surface_actor);
|
surface_actor_wayland = META_SURFACE_ACTOR_WAYLAND (surface_actor);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user