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

Missing commit on parent surface after set_position on sub-surface

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.6.3
    • 5.6.0
    • QPA: Wayland
    • None

    Description

      I observed that after positioning a sub-surface the state of the parent surface does not get applied and thus the scheduled position is never adjusted.

      Please see the attached log of running systemsettings.

      I highlight the following area starting in line 1308 of the log:
      [1145376.790] -> wl_compositor@4.create_surface(new id wl_surface@76)
      [1145376.803] -> wl_subcompositor@11.get_subsurface(new id wl_subsurface@77, wl_surface@76, wl_surface@74)
      [1145376.820] -> wl_subsurface@77.set_desync()
      [1145376.826] -> wl_surface@76.set_buffer_scale(1)
      [1145376.835] -> wl_subsurface@77.set_position(12, 104)
      [1145376.846] -> wl_surface@76.set_buffer_transform(0)
      [1145376.854] -> wl_surface@76.commit()
      [1145376.879] -> wl_subsurface@77.set_position(12, 104)

      to apply the change of the set_position of wl_subsurface@77, one would expect a commit on the parent surface wl_surface@74, but this does not happen.

      The next commit of surface 74 happens in line 2747 after the sub surface (wl_surface@76) got destroyed:
      [1149118.562] -> wl_surface@76.destroy()
      [1149118.734] -> wl_surface@74.attach(nil, 0, 0)
      [1149118.814] -> wl_surface@74.commit()

      Please consult the documentation of the expected behavior of set_position calls:
      "The scheduled coordinates will take effect whenever the state of the parent surface is applied. When this happens depends on whether the parent surface is in synchronized mode or not. See wl_subsurface.set_sync and wl_subsurface.set_desync for details."

      To apply the state a commit on the parent surface (in this case surface 74) is required.

      The problem can be seen in the attached screenshot.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            johanhelsing Johan Helsing
            mgraesslin Martin Gräßlin
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes