diff --git a/tests/auto/wayland/shared/coreprotocol.cpp b/tests/auto/wayland/shared/coreprotocol.cpp index 833ad4b097f..5d9c4e9a368 100644 --- a/tests/auto/wayland/shared/coreprotocol.cpp +++ b/tests/auto/wayland/shared/coreprotocol.cpp @@ -77,8 +77,10 @@ void Surface::surface_attach(Resource *resource, wl_resource *buffer, int32_t x, m_image = QImage(); } else { QPoint offset(x, y); + if (resource->version() < 5) + m_pending.commitSpecific.attachOffset = offset; + m_pending.buffer = fromResource(buffer); - m_pending.commitSpecific.attachOffset = offset; m_pending.commitSpecific.attached = true; emit attach(buffer, offset); @@ -143,6 +145,13 @@ void Surface::surface_frame(Resource *resource, uint32_t callback) } } +void Surface::surface_offset(Resource *resource, int32_t x, int32_t y) +{ + Q_UNUSED(resource); + QPoint offset(x, y); + m_pending.commitSpecific.attachOffset = offset; +} + bool WlCompositor::isClean() { for (auto *surface : std::as_const(m_surfaces)) { if (!CursorRole::fromSurface(surface)) { diff --git a/tests/auto/wayland/shared/coreprotocol.h b/tests/auto/wayland/shared/coreprotocol.h index 0f59441a386..9699759d030 100644 --- a/tests/auto/wayland/shared/coreprotocol.h +++ b/tests/auto/wayland/shared/coreprotocol.h @@ -124,6 +124,7 @@ protected: void surface_set_buffer_scale(Resource *resource, int32_t scale) override; void surface_commit(Resource *resource) override; void surface_frame(Resource *resource, uint32_t callback) override; + void surface_offset(Resource *resource, int32_t x, int32_t y) override; }; class Region : public QtWaylandServer::wl_region @@ -145,7 +146,7 @@ class WlCompositor : public Global, public QtWaylandServer::wl_compositor { Q_OBJECT public: - explicit WlCompositor(CoreCompositor *compositor, int version = 4) + explicit WlCompositor(CoreCompositor *compositor, int version = 5) : QtWaylandServer::wl_compositor(compositor->m_display, version) , m_compositor(compositor) {}