Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-52192

Incorrect mapping of sub-surfaces

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2: Important P2: Important
    • None
    • 5.6.0
    • QPA: Wayland
    • None

      When Qt creates a sub-surface window tree it creates multiple "dummy" surfaces which don't get a buffer attached. Only the last child has a mapped surface.

      According to the Wayland spec this means that the sub-surface is not mapped. To quote:
      "A sub-surface becomes mapped, when a non-NULL wl_buffer is applied and the parent surface is mapped."

      And
      "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."

      Please see the attached log from using systemsettings and the attached screenshot of how the tree of subsurfaces looks in this case.

      The wl_surface 102 is a child to wl_surface 70, but wl_surface 70 never gets rendered.

        1. wayland-subsurface-tree.png
          178 kB
          Martin Gräßlin
        2. systemsettings-wayland-no-map-subsurfaces.out
          167 kB
          Martin Gräßlin
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            tvete Paul Olav Tvete
            mgraesslin Martin Gräßlin
            Votes:
            2 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes