Comment 13 for bug 2003104

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

For completeness I bisected the cause of the issue (introduced in mutter 43.1):

909616b20876478bc56932cd18c8e85e982645f6 is the first bad commit
commit 909616b20876478bc56932cd18c8e85e982645f6
Author: Sebastian Wick <email address hidden>
Date: Tue May 3 18:47:57 2022 +0200

    window-actor/wayland: Draw black background for fullscreen windows

    Fullscreen Wayland toplevel surfaces don't need to respect the
    configured size in which case it should be shown centered on the monitor
    with a black background. The black background becomes part of the window
    geometry.

    The surface container is responsible for correctly culling the surfaces
    and making sure the surface actors are removed from the actor tree to
    avoid destroying them.

    The window actor culling implementation assumes all surfaces to be direct
    children of said actor. The introduction of the surface_container actor
    broke that assumption. This implements the culling interface in
    MetaWindowActorWayland which is aware of the actor surface_container and
    fullscreen state.

    v2: Fix forwarding culling to surface even if there is a background.
    v2: Don't alter passed geometry.
    v2: Update window geometry code documentation to reflect these changes.
    v2: Only use constrained rect if we're acked fullscreen.

    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2338>