Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • W weston
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 342
    • Issues 342
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 131
    • Merge requests 131
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • waylandwayland
  • weston
  • Issues
  • #426
Closed
Open
Issue created Aug 24, 2020 by Robert Mader@rmaderDeveloper0 of 1 checklist item completed0/1 checklist item

Weston shows subsurfaces of unmapped subsurfaces

This came up while debugging issues around the OBS Wayland port:

The spec states:

A sub-surface becomes mapped, when a non-NULL wl_buffer is applied and the parent surface is mapped. The order of which one happens first is irrelevant. A sub-surface is hidden if the parent becomes hidden, or if a NULL wl_buffer is applied. These rules apply recursively through the tree of surfaces.

On Weston it is possible to map a subsurface subB of a subsurface subA, even if subA never got a buffer attached.

While this should be easy to fix, apparently the QT Wayland backend makes heavy use of bufferless "intermediate" subsurfaces - likely because it currently appears to work on all major compositors. I tested Mutter and Sway and assume KWin behaves similar. So fixing this should probably involve some coordination with the QT team and distributors (at least Fedora, which enables the QT Wayland backend by default).

Todo:

  • provide a cleaned up example client

see also https://bugreports.qt.io/browse/QTBUG-86229 and https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1412

cc: @pq, @feaneron, @jadahl

Edited Jan 17, 2022 by Robert Mader
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking