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

[Wayland] QWaylandShmBackingStore::scroll() is scrolling the busy buffer

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2: Important P2: Important
    • 6.10.0 RC
    • 6.10.0 Beta1, 6.10.0 Beta2
    • QPA: Wayland
    • None
    • Linux/Wayland
    • 1aa383378 (dev), 9eae9081b (6.10)

      When QWaylandShmBackingStore::scroll() is called by QtWidgets (it's called before the beginPaint()), the mBackBuffer is busy by the compositor, so Qt is scrolling the busy buffer.

      This code asserts:

      diff --git a/src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp b/src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp
      index 8698348db27..4a2825c00cd 100644
      --- a/src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp
      +++ b/src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp
      @@ -225,6 +225,8 @@ bool QWaylandShmBackingStore::scroll(const QRegion &region, int dx, int dy)
           if (!mBackBuffer)
               return false;
       
      +    Q_ASSERT(!mBackBuffer->busy());
      +
           QImage *backBufferImage = mBackBuffer->image();
           const qreal devicePixelRatio = backBufferImage->devicePixelRatio();
       
      

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

            zaps166 Błażej Szczygieł
            zaps166 Błażej Szczygieł
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes