diff options
Diffstat (limited to 'tests/auto/client/shared/mockcompositor.cpp')
-rw-r--r-- | tests/auto/client/shared/mockcompositor.cpp | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/tests/auto/client/shared/mockcompositor.cpp b/tests/auto/client/shared/mockcompositor.cpp index 03d0ffb6c..bbf406d64 100644 --- a/tests/auto/client/shared/mockcompositor.cpp +++ b/tests/auto/client/shared/mockcompositor.cpp @@ -1,13 +1,13 @@ // Copyright (C) 2021 David Edmundson <davidedmundson@kde.org> // Copyright (C) 2018 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include "mockcompositor.h" namespace MockCompositor { -DefaultCompositor::DefaultCompositor(CompositorType t) - : CoreCompositor(t) +DefaultCompositor::DefaultCompositor(CompositorType t, int socketFd) + : CoreCompositor(t, socketFd) { { Lock l(this); @@ -21,6 +21,10 @@ DefaultCompositor::DefaultCompositor(CompositorType t) add<Seat>(Seat::capability_pointer | Seat::capability_keyboard | Seat::capability_touch); add<WlShell>(); add<XdgWmBase>(); + add<FractionalScaleManager>(); + add<Viewporter>(); + add<XdgWmDialog>(); + switch (m_type) { case CompositorType::Default: add<Shm>(); @@ -34,19 +38,22 @@ DefaultCompositor::DefaultCompositor(CompositorType t) // TODO: other shells, viewporter, xdgoutput etc - QObject::connect(get<WlCompositor>(), &WlCompositor::surfaceCreated, [&] (Surface *surface){ - QObject::connect(surface, &Surface::bufferCommitted, [=] { + QObject::connect(get<WlCompositor>(), &WlCompositor::surfaceCreated, [this] (Surface *surface){ + QObject::connect(surface, &Surface::bufferCommitted, [this, surface] { if (m_config.autoRelease) { // Pretend we made a copy of the buffer and just release it immediately surface->m_committed.buffer->send_release(); } + if (m_config.autoFrameCallback) { + surface->sendFrameCallbacks(); + } if (m_config.autoEnter && get<Output>() && surface->m_outputs.empty()) surface->sendEnter(get<Output>()); wl_display_flush_clients(m_display); }); }); - QObject::connect(get<XdgWmBase>(), &XdgWmBase::toplevelCreated, get<XdgWmBase>(), [&] (XdgToplevel *toplevel) { + QObject::connect(get<XdgWmBase>(), &XdgWmBase::toplevelCreated, get<XdgWmBase>(), [this] (XdgToplevel *toplevel) { if (m_config.autoConfigure) toplevel->sendCompleteConfigure(); }, Qt::DirectConnection); @@ -90,9 +97,9 @@ uint DefaultCompositor::sendXdgShellPing() void DefaultCompositor::xdgPingAndWaitForPong() { - QSignalSpy pongSpy(exec([=] { return get<XdgWmBase>(); }), &XdgWmBase::pong); - uint serial = exec([=] { return sendXdgShellPing(); }); - QTRY_COMPARE(pongSpy.count(), 1); + QSignalSpy pongSpy(exec([&] { return get<XdgWmBase>(); }), &XdgWmBase::pong); + uint serial = exec([&] { return sendXdgShellPing(); }); + QTRY_COMPARE(pongSpy.size(), 1); QTRY_COMPARE(pongSpy.first().at(0).toUInt(), serial); } |