diff options
author | Paul Olav Tvete <paul.tvete@qt.io> | 2020-07-03 14:31:17 +0200 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@qt.io> | 2020-07-07 12:55:29 +0200 |
commit | 7e412517c4fa10aad6f7bb0b691cb3335e815db0 (patch) | |
tree | 97429362065303715d519b4cd2da3bb8497449db /tests/auto | |
parent | 82f01cc931ef5ed0a77f389666c8071c5c0c4b59 (diff) |
Support wl_surface.damage_buffer
Add compositor support for wl_surface.damage_buffer requests.
This also required updating wl_compositor to version 4.
Fixes: QTBUG-74927
Change-Id: I887ed04e60fe14ecce7df6a517950b0091e2ad54
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/compositor/compositor/mockclient.cpp | 2 | ||||
-rw-r--r-- | tests/auto/compositor/compositor/tst_compositor.cpp | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/tests/auto/compositor/compositor/mockclient.cpp b/tests/auto/compositor/compositor/mockclient.cpp index 76ccd0c58..53e10d687 100644 --- a/tests/auto/compositor/compositor/mockclient.cpp +++ b/tests/auto/compositor/compositor/mockclient.cpp @@ -166,7 +166,7 @@ void MockClient::handleGlobalRemove(void *data, wl_registry *wl_registry, uint32 void MockClient::handleGlobal(uint32_t id, const QByteArray &interface) { if (interface == "wl_compositor") { - compositor = static_cast<wl_compositor *>(wl_registry_bind(registry, id, &wl_compositor_interface, 3)); + compositor = static_cast<wl_compositor *>(wl_registry_bind(registry, id, &wl_compositor_interface, 4)); } else if (interface == "wl_output") { auto output = static_cast<wl_output *>(wl_registry_bind(registry, id, &wl_output_interface, 2)); m_outputs.insert(id, output); diff --git a/tests/auto/compositor/compositor/tst_compositor.cpp b/tests/auto/compositor/compositor/tst_compositor.cpp index a44aef2f3..902f420de 100644 --- a/tests/auto/compositor/compositor/tst_compositor.cpp +++ b/tests/auto/compositor/compositor/tst_compositor.cpp @@ -531,8 +531,6 @@ void tst_WaylandCompositor::mapSurfaceHiDpi() }; QObject::connect(waylandSurface, &QWaylandSurface::damaged, [=] (const QRegion &damage) { - // Currently, QWaylandSurface::size returns the size in pixels. - // Should be fixed or removed for Qt 6. QCOMPARE(damage, QRect(QPoint(), surfaceSize)); verifyComittedState(); }); @@ -570,6 +568,12 @@ void tst_WaylandCompositor::mapSurfaceHiDpi() QTRY_COMPARE(destinationSizeSpy.count(), 1); QTRY_COMPARE(bufferScaleSpy.count(), 1); QTRY_COMPARE(offsetSpy.count(), 1); + QTRY_COMPARE(damagedSpy.count(), 1); + + // Now verify that wl_surface_damage_buffer gets mapped properly + wl_surface_damage_buffer(surface, 0, 0, bufferSize.width(), bufferSize.height()); + wl_surface_commit(surface); + QTRY_COMPARE(damagedSpy.count(), 2); wl_surface_destroy(surface); } |