Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6-wayland for openSUSE:Factory checked in at 2023-10-02 20:05:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6-wayland (Old) and /work/SRC/openSUSE:Factory/.qt6-wayland.new.28202 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-wayland" Mon Oct 2 20:05:53 2023 rev:26 rq:1114519 version:6.5.3 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6-wayland/qt6-wayland.changes 2023-07-26 13:23:40.947904989 +0200 +++ /work/SRC/openSUSE:Factory/.qt6-wayland.new.28202/qt6-wayland.changes 2023-10-02 20:08:02.374198957 +0200 @@ -1,0 +2,6 @@ +Thu Sep 28 07:34:24 UTC 2023 - Christophe Marin <christo...@krop.fr> + +- Update to 6.5.3 + * https://www.qt.io/blog/qt-6.5.3-released + +------------------------------------------------------------------- Old: ---- qtwayland-everywhere-src-6.5.2.tar.xz New: ---- qtwayland-everywhere-src-6.5.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6-wayland.spec ++++++ --- /var/tmp/diff_new_pack.GP9Pku/_old 2023-10-02 20:08:03.502239526 +0200 +++ /var/tmp/diff_new_pack.GP9Pku/_new 2023-10-02 20:08:03.502239526 +0200 @@ -16,7 +16,7 @@ # -%define real_version 6.5.2 +%define real_version 6.5.3 %define short_version 6.5 %define tar_name qtwayland-everywhere-src %define tar_suffix %{nil} @@ -30,13 +30,13 @@ %global with_opengl 1 %endif Name: qt6-wayland%{?pkg_suffix} -Version: 6.5.2 +Version: 6.5.3 Release: 0 Summary: Qt 6 Wayland libraries and tools # The wayland compositor files are GPL-3.0-or-later License: GPL-3.0-or-later AND (LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-or-later) URL: https://www.qt.io -Source: https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/official_releases/qt/%{short_version}/%{real_version}%{tar_suffix}/submodules/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz +Source: https://download.qt.io/official_releases/qt/%{short_version}/%{real_version}%{tar_suffix}/submodules/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz Source99: qt6-wayland-rpmlintrc BuildRequires: pkgconfig BuildRequires: qt6-core-private-devel ++++++ qtwayland-everywhere-src-6.5.2.tar.xz -> qtwayland-everywhere-src-6.5.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/.cmake.conf new/qtwayland-everywhere-src-6.5.3/.cmake.conf --- old/qtwayland-everywhere-src-6.5.2/.cmake.conf 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/.cmake.conf 2023-09-24 11:46:00.000000000 +0200 @@ -1,3 +1,3 @@ -set(QT_REPO_MODULE_VERSION "6.5.2") +set(QT_REPO_MODULE_VERSION "6.5.3") set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1") set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/.tag new/qtwayland-everywhere-src-6.5.3/.tag --- old/qtwayland-everywhere-src-6.5.2/.tag 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/.tag 2023-09-24 11:46:00.000000000 +0200 @@ -1 +1 @@ -8df7c0e96a010807fab3bb7a9d63948f59995e5c +aa1fb0bed82299e753c89a4e56611347baa75bcd diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/dependencies.yaml new/qtwayland-everywhere-src-6.5.3/dependencies.yaml --- old/qtwayland-everywhere-src-6.5.2/dependencies.yaml 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/dependencies.yaml 2023-09-24 11:46:00.000000000 +0200 @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: af457a9f0f7eb1a2a7d11f495da508faab91a442 + ref: 372eaedc5b8c771c46acc4c96e91bbade4ca3624 required: true ../qtdeclarative: - ref: f289063ff19588a11dd79213632785cfda2909a0 + ref: e00c258fa5a4e122636d441967dea035865fac5d required: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/src/client/qwaylanddatadevice.cpp new/qtwayland-everywhere-src-6.5.3/src/client/qwaylanddatadevice.cpp --- old/qtwayland-everywhere-src-6.5.2/src/client/qwaylanddatadevice.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/src/client/qwaylanddatadevice.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -97,6 +97,9 @@ connect(m_dragSource.data(), &QWaylandDataSource::cancelled, this, &QWaylandDataDevice::dragSourceCancelled); connect(m_dragSource.data(), &QWaylandDataSource::dndResponseUpdated, this, [this](bool accepted, Qt::DropAction action) { auto drag = static_cast<QWaylandDrag *>(QGuiApplicationPrivate::platformIntegration()->drag()); + if (!drag->currentDrag()) { + return; + } // in old versions drop action is not set, so we guess if (m_dragSource->version() < 3) { drag->setResponse(accepted); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/src/client/qwaylanddisplay.cpp new/qtwayland-everywhere-src-6.5.3/src/client/qwaylanddisplay.cpp --- old/qtwayland-everywhere-src-6.5.2/src/client/qwaylanddisplay.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/src/client/qwaylanddisplay.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -790,6 +790,9 @@ mActiveWindows.removeOne(window); + if (QCoreApplication::closingDown()) + return; + if (auto *decoration = window->decoration()) decoration->update(); } @@ -859,7 +862,7 @@ QWaylandInputDevice *QWaylandDisplay::defaultInputDevice() const { - return mInputDevices.isEmpty() ? 0 : mInputDevices.first(); + return mInputDevices.isEmpty() ? nullptr : mInputDevices.first(); } bool QWaylandDisplay::isKeyboardAvailable() const diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/src/client/qwaylanddnd.cpp new/qtwayland-everywhere-src-6.5.3/src/client/qwaylanddnd.cpp --- old/qtwayland-everywhere-src-6.5.2/src/client/qwaylanddnd.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/src/client/qwaylanddnd.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -59,10 +59,7 @@ void QWaylandDrag::drop(const QPoint &globalPos, Qt::MouseButtons b, Qt::KeyboardModifiers mods) { - Q_UNUSED(globalPos); - Q_UNUSED(b); - Q_UNUSED(mods); - // Do nothing + QBasicDrag::drop(globalPos, b, mods); } void QWaylandDrag::endDrag() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/src/client/qwaylandinputcontext.cpp new/qtwayland-everywhere-src-6.5.3/src/client/qwaylandinputcontext.cpp --- old/qtwayland-everywhere-src-6.5.2/src/client/qwaylandinputcontext.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/src/client/qwaylandinputcontext.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -206,7 +206,7 @@ QWaylandTextInputInterface *QWaylandInputContext::textInput() const { - return mDisplay->defaultInputDevice()->textInput(); + return mDisplay->defaultInputDevice() ? mDisplay->defaultInputDevice()->textInput() : nullptr; } #if QT_CONFIG(xkbcommon) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/src/client/qwaylandinputdevice.cpp new/qtwayland-everywhere-src-6.5.3/src/client/qwaylandinputdevice.cpp --- old/qtwayland-everywhere-src-6.5.2/src/client/qwaylandinputdevice.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/src/client/qwaylandinputdevice.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -118,7 +118,7 @@ QWaylandWindow *QWaylandInputDevice::Keyboard::focusWindow() const { - return mFocus ? QWaylandWindow::fromWlSurface(mFocus) : nullptr; + return mFocus ? mFocus->waylandWindow() : nullptr; } QWaylandInputDevice::Pointer::Pointer(QWaylandInputDevice *seat) @@ -707,8 +707,8 @@ void QWaylandInputDevice::Pointer::pointer_leave(uint32_t time, struct wl_surface *surface) { - releaseButtons(); invalidateFocus(); + mButtons = Qt::NoButton; mParent->mTime = time; @@ -823,8 +823,6 @@ default: return; // invalid button number (as far as Qt is concerned) } - mLastButton = qt_button; - if (state) mButtons |= qt_button; else @@ -863,13 +861,10 @@ void QWaylandInputDevice::Pointer::releaseButtons() { - if (mButtons == Qt::NoButton) - return; - mButtons = Qt::NoButton; if (auto *window = focusWindow()) { - ReleaseEvent e(focusWindow(), mParent->mTime, mSurfacePos, mGlobalPos, mButtons, mLastButton, mParent->modifiers()); + ReleaseEvent e(focusWindow(), mParent->mTime, mSurfacePos, mGlobalPos, mButtons, Qt::NoButton, mParent->modifiers()); window->handleMouse(mParent, e); } } @@ -1215,13 +1210,17 @@ return; } + QWaylandWindow *window = QWaylandWindow::fromWlSurface(surface); + if (!window) + return; + if (mFocus) { qCWarning(lcQpaWayland()) << "Unexpected wl_keyboard.enter event. Keyboard already has focus"; - disconnect(focusWindow(), &QWaylandWindow::wlSurfaceDestroyed, this, &Keyboard::handleFocusDestroyed); + disconnect(mFocus, &QWaylandSurface::destroyed, this, &Keyboard::handleFocusDestroyed); } - mFocus = surface; - connect(focusWindow(), &QWaylandWindow::wlSurfaceDestroyed, this, &Keyboard::handleFocusDestroyed); + mFocus = window->waylandSurface(); + connect(mFocus, &QWaylandSurface::destroyed, this, &Keyboard::handleFocusDestroyed); mParent->mQDisplay->handleKeyboardFocusChanged(mParent); } @@ -1235,13 +1234,17 @@ return; } - if (surface != mFocus) { + QWaylandWindow *window = QWaylandWindow::fromWlSurface(surface); + if (!window) + return; + + if (window->waylandSurface() != mFocus) { qCWarning(lcQpaWayland) << "Ignoring unexpected wl_keyboard.leave event." << "wl_surface argument does not match the current focus" << "This is most likely a compositor bug"; return; } - disconnect(focusWindow(), &QWaylandWindow::wlSurfaceDestroyed, this, &Keyboard::handleFocusDestroyed); + disconnect(mFocus, &QWaylandSurface::destroyed, this, &Keyboard::handleFocusDestroyed); handleFocusLost(); } @@ -1341,11 +1344,6 @@ void QWaylandInputDevice::Keyboard::handleFocusDestroyed() { - // The signal is emitted by QWaylandWindow, which is not necessarily destroyed along with the - // surface, so we still need to disconnect the signal - auto *window = qobject_cast<QWaylandWindow *>(sender()); - disconnect(window, &QWaylandWindow::wlSurfaceDestroyed, this, &Keyboard::handleFocusDestroyed); - Q_ASSERT(window->wlSurface() == mFocus); handleFocusLost(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/src/client/qwaylandinputdevice_p.h new/qtwayland-everywhere-src-6.5.3/src/client/qwaylandinputdevice_p.h --- old/qtwayland-everywhere-src-6.5.2/src/client/qwaylandinputdevice_p.h 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/src/client/qwaylandinputdevice_p.h 2023-09-24 11:46:00.000000000 +0200 @@ -223,7 +223,7 @@ void keyboard_repeat_info(int32_t rate, int32_t delay) override; QWaylandInputDevice *mParent = nullptr; - ::wl_surface *mFocus = nullptr; + QPointer<QWaylandSurface> mFocus; uint32_t mNativeModifiers = 0; @@ -333,7 +333,6 @@ QPointF mSurfacePos; QPointF mGlobalPos; Qt::MouseButtons mButtons = Qt::NoButton; - Qt::MouseButton mLastButton = Qt::NoButton; #if QT_CONFIG(cursor) wl_buffer *mCursorBuffer = nullptr; Qt::CursorShape mCursorShape = Qt::BitmapCursor; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/src/client/qwaylandinputmethodcontext.cpp new/qtwayland-everywhere-src-6.5.3/src/client/qwaylandinputmethodcontext.cpp --- old/qtwayland-everywhere-src-6.5.2/src/client/qwaylandinputmethodcontext.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/src/client/qwaylandinputmethodcontext.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -387,7 +387,7 @@ QWaylandTextInputMethod *QWaylandInputMethodContext::textInputMethod() const { - return m_display->defaultInputDevice()->textInputMethod(); + return m_display->defaultInputDevice() ? m_display->defaultInputDevice()->textInputMethod() : nullptr; } } // QtWaylandClient diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/src/client/qwaylandwindow.cpp new/qtwayland-everywhere-src-6.5.3/src/client/qwaylandwindow.cpp --- old/qtwayland-everywhere-src-6.5.2/src/client/qwaylandwindow.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/src/client/qwaylandwindow.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -658,10 +658,15 @@ return; const qreal s = scale(); - if (mSurface->version() >= 4) - mSurface->damage_buffer(qFloor(s * rect.x()), qFloor(s * rect.y()), qCeil(s * rect.width()), qCeil(s * rect.height())); - else + if (mSurface->version() >= 4) { + const QRect bufferRect = + QRectF(s * rect.x(), s * rect.y(), s * rect.width(), s * rect.height()) + .toAlignedRect(); + mSurface->damage_buffer(bufferRect.x(), bufferRect.y(), bufferRect.width(), + bufferRect.height()); + } else { mSurface->damage(rect.x(), rect.y(), rect.width(), rect.height()); + } } void QWaylandWindow::safeCommit(QWaylandBuffer *buffer, const QRegion &damage) @@ -699,8 +704,13 @@ attachOffset(buffer); if (mSurface->version() >= 4) { const qreal s = scale(); - for (const QRect &rect: damage) - mSurface->damage_buffer(qFloor(s * rect.x()), qFloor(s * rect.y()), qCeil(s * rect.width()), qCeil(s * rect.height())); + for (const QRect &rect : damage) { + const QRect bufferRect = + QRectF(s * rect.x(), s * rect.y(), s * rect.width(), s * rect.height()) + .toAlignedRect(); + mSurface->damage_buffer(bufferRect.x(), bufferRect.y(), bufferRect.width(), + bufferRect.height()); + } } else { for (const QRect &rect: damage) mSurface->damage(rect.x(), rect.y(), rect.width(), rect.height()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/src/compositor/compositor_api/qwaylandcompositor.cpp new/qtwayland-everywhere-src-6.5.3/src/compositor/compositor_api/qwaylandcompositor.cpp --- old/qtwayland-everywhere-src-6.5.2/src/compositor/compositor_api/qwaylandcompositor.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/src/compositor/compositor_api/qwaylandcompositor.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -101,6 +101,8 @@ ke->nativeScanCode += offset; #endif uint32_t code = ke->nativeScanCode; + if (code == 0) + code = seat->keyboard()->keyToScanCode(ke->key); bool isDown = ke->keyType == QEvent::KeyPress; #if QT_CONFIG(xkbcommon) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/src/compositor/doc/qtwaylandcompositor.qdocconf new/qtwayland-everywhere-src-6.5.3/src/compositor/doc/qtwaylandcompositor.qdocconf --- old/qtwayland-everywhere-src-6.5.2/src/compositor/doc/qtwaylandcompositor.qdocconf 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/src/compositor/doc/qtwaylandcompositor.qdocconf 2023-09-24 11:46:00.000000000 +0200 @@ -28,7 +28,18 @@ qhp.QtWaylandCompositor.subprojects.examples.selectors = fake:example qhp.QtWaylandCompositor.subprojects.examples.sortPages = true -depends += qtcore qtqml qtquick qtdoc qtquickcontrols qmake qtgui qtqmlmodels qtwidgets qtvirtualkeyboard +depends += qtcore \ + qtqml \ + qtquick \ + qtdoc \ + qtquickcontrols \ + qmake \ + qtgui \ + qtqmlmodels \ + qtwidgets \ + qtvirtualkeyboard \ + qtcmake \ + qtopengl exampledirs += ../../../examples/wayland headerdirs += \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/src/compositor/global/qwaylandcompositorextension.cpp new/qtwayland-everywhere-src-6.5.3/src/compositor/global/qwaylandcompositorextension.cpp --- old/qtwayland-everywhere-src-6.5.2/src/compositor/global/qwaylandcompositorextension.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/src/compositor/global/qwaylandcompositorextension.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -277,6 +277,8 @@ */ void QWaylandObject::removeExtension(QWaylandCompositorExtension *extension) { + if (!extension->isInitialized()) + return; Q_ASSERT(extension_vector.contains(extension)); extension_vector.removeOne(extension); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/tests/auto/client/client/tst_client.cpp new/qtwayland-everywhere-src-6.5.3/tests/auto/client/client/tst_client.cpp --- old/qtwayland-everywhere-src-6.5.2/tests/auto/client/client/tst_client.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/tests/auto/client/client/tst_client.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -172,21 +172,21 @@ Surface *s = nullptr; QCOMPOSITOR_TRY_VERIFY(s = surface()); - exec([=] { + exec([&] { sendShellSurfaceConfigure(s); }); QCOMPOSITOR_TRY_VERIFY(window.isExposed()); QCOMPARE(window.focusInEventCount, 0); - exec([=] { + exec([&] { keyboard()->sendEnter(s); }); QTRY_COMPARE(window.focusInEventCount, 1); QCOMPARE(QGuiApplication::focusWindow(), &window); QCOMPARE(window.focusOutEventCount, 0); - exec([=] { + exec([&] { keyboard()->sendLeave(s); // or implement setFocus in Keyboard }); QTRY_COMPARE(window.focusOutEventCount, 1); @@ -200,7 +200,7 @@ Surface *s = nullptr; QCOMPOSITOR_TRY_VERIFY(s = surface()); - exec([=] { + exec([&] { sendShellSurfaceConfigure(s); }); @@ -208,7 +208,7 @@ QCOMPARE(window.focusInEventCount, 0); - exec([=] { + exec([&] { keyboard()->sendEnter(s); }); QTRY_COMPARE(window.focusInEventCount, 1); @@ -222,14 +222,14 @@ // xkb_v1 1 libxkbcommon compatible; to determine the xkb keycode, clients must add 8 to the key event keycode uint keyCode = 80; // arbitrarily chosen QCOMPARE(window.keyPressEventCount, 0); - exec([=] { + exec([&] { keyboard()->sendKey(client(), keyCode - 8, Keyboard::key_state_pressed); // related with native scan code }); QTRY_COMPARE(window.keyPressEventCount, 1); QCOMPARE(window.keyCode, keyCode); QCOMPARE(window.keyReleaseEventCount, 0); - exec([=] { + exec([&] { keyboard()->sendKey(client(), keyCode - 8, Keyboard::key_state_released); // related with native scan code }); QTRY_COMPARE(window.keyReleaseEventCount, 1); @@ -241,12 +241,12 @@ }); // Note: wl_touch.frame should not be the last event in a test until QTBUG-66563 is fixed. // See also: QTBUG-66537 - exec([=] { + exec([&] { touch()->sendFrame(client()); }); QTRY_COMPARE(window.touchEventCount, 1); - exec([=] { + exec([&] { touch()->sendUp(client(), touchId); touch()->sendFrame(client()); }); @@ -266,7 +266,7 @@ QTRY_COMPARE(window.mousePressPos, mousePressPos); QCOMPARE(window.mouseReleaseEventCount, 0); - exec([=] { + exec([&] { pointer()->sendButton(client(), BTN_LEFT, Pointer::button_state_released); pointer()->sendFrame(client()); }); @@ -280,7 +280,7 @@ Surface *s = nullptr; QCOMPOSITOR_TRY_VERIFY(s = surface()); - exec([=] { + exec([&] { sendShellSurfaceConfigure(s); }); @@ -391,7 +391,7 @@ Surface *s = nullptr; QCOMPOSITOR_TRY_VERIFY(s = surface()); - exec([=] { + exec([&] { sendShellSurfaceConfigure(s); }); @@ -405,7 +405,7 @@ &test, &DNDTest::touchDrag); }); - exec([=] { + exec([&] { keyboard()->sendEnter(s); }); QTRY_COMPARE(QGuiApplication::focusWindow(), &window); @@ -428,7 +428,7 @@ Surface *s = nullptr; QCOMPOSITOR_TRY_VERIFY(s = surface()); - exec([=] { + exec([&] { sendShellSurfaceConfigure(s); }); @@ -441,7 +441,7 @@ &test, &DNDTest::finishMouseDrag); }); - exec([=] { + exec([&] { keyboard()->sendEnter(s); }); QTRY_COMPARE(QGuiApplication::focusWindow(), &window); @@ -516,7 +516,7 @@ // with the set_popup request. Surface *s = nullptr; QCOMPOSITOR_TRY_VERIFY(s = surface()); - exec([=] { + exec([&] { sendShellSurfaceConfigure(s); }); QCOMPOSITOR_TRY_VERIFY(toplevel.isExposed()); @@ -553,7 +553,7 @@ testWindow->show(); Surface *s = nullptr; QCOMPOSITOR_TRY_VERIFY(s = surface()); - exec([=] { + exec([&] { sendShellSurfaceConfigure(s); }); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/tests/auto/client/iviapplication/tst_iviapplication.cpp new/qtwayland-everywhere-src-6.5.3/tests/auto/client/iviapplication/tst_iviapplication.cpp --- old/qtwayland-everywhere-src-6.5.2/tests/auto/client/iviapplication/tst_iviapplication.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/tests/auto/client/iviapplication/tst_iviapplication.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -44,7 +44,7 @@ // Unconfigured ivi surfaces decide their own size QTRY_COMPARE(window.frameGeometry(), QRect(QPoint(), QSize(32, 32))); - exec([=] { + exec([&] { iviSurface()->send_configure(123, 456); }); QTRY_COMPARE(window.frameGeometry(), QRect(QPoint(), QSize(123, 456))); @@ -62,7 +62,7 @@ QCOMPOSITOR_TRY_VERIFY(iviSurface(0)); QCOMPOSITOR_TRY_VERIFY(iviSurface(1)); - exec([=] { + exec([&] { QVERIFY(iviSurface(0)->m_iviId != iviSurface(1)->m_iviId); }); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/tests/auto/client/nooutput/tst_nooutput.cpp new/qtwayland-everywhere-src-6.5.3/tests/auto/client/nooutput/tst_nooutput.cpp --- old/qtwayland-everywhere-src-6.5.2/tests/auto/client/nooutput/tst_nooutput.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/tests/auto/client/nooutput/tst_nooutput.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -41,7 +41,7 @@ // The window should not be exposed before the first xdg_surface configure event QTRY_VERIFY(!window.isExposed()); - exec([=] { + exec([&] { xdgToplevel()->sendConfigure({0, 0}, {}); // Let the window decide the size xdgSurface()->sendConfigure(nextSerial()); }); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/tests/auto/client/output/tst_output.cpp new/qtwayland-everywhere-src-6.5.3/tests/auto/client/output/tst_output.cpp --- old/qtwayland-everywhere-src-6.5.2/tests/auto/client/output/tst_output.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/tests/auto/client/output/tst_output.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -48,7 +48,7 @@ void tst_output::secondaryHiDpiScreen() { - exec([=] { + exec([&] { OutputData d; d.position = {1920, 0}; // in global compositor space (not pixels) d.mode.resolution = {800, 640}; @@ -74,15 +74,15 @@ QCOMPARE(screen->geometry(), QRect(QPoint(1920, 0), QSize(400, 320))); QCOMPARE(screen->virtualGeometry(), QRect(QPoint(0, 0), QSize(1920 + 800 / 2, 1080))); - exec([=] { remove(output(1)); }); + exec([&] { remove(output(1)); }); } // QTBUG-62044 void tst_output::addScreenWithGeometryChange() { - const QPoint initialPosition = exec([=] { return output(0)->m_data.position; }); + const QPoint initialPosition = exec([&] { return output(0)->m_data.position; }); - exec([=] { + exec([&] { auto *oldOutput = output(0); auto *newOutput = add<Output>(); newOutput->m_data.mode.resolution = {1280, 720}; @@ -98,7 +98,7 @@ QTRY_COMPARE(QGuiApplication::primaryScreen()->geometry(), QRect(QPoint(1280, 0), QSize(1920, 1080))); // Remove the extra output and move the old one back - exec([=] { + exec([&] { remove(output(1)); output()->m_data.position = initialPosition; output()->sendGeometry(); @@ -119,7 +119,7 @@ QScreen *primaryScreen = QGuiApplication::screens().first(); QCOMPARE(window.screen(), primaryScreen); - exec([=] { add<Output>(); }); + exec([&] { add<Output>(); }); QTRY_COMPARE(QGuiApplication::screens().size(), 2); QScreen *secondaryScreen = QGuiApplication::screens().at(1); @@ -128,19 +128,19 @@ window.setScreen(secondaryScreen); QCOMPARE(window.screen(), secondaryScreen); - exec([=] { + exec([&] { xdgToplevel()->surface()->sendEnter(output(0)); xdgToplevel()->surface()->sendEnter(output(1)); }); QTRY_COMPARE(window.screen(), primaryScreen); - exec([=] { + exec([&] { xdgToplevel()->surface()->sendLeave(output(0)); }); QTRY_COMPARE(window.screen(), secondaryScreen); - exec([=] { + exec([&] { remove(output(1)); }); QTRY_COMPARE(QGuiApplication::screens().size(), 1); @@ -186,7 +186,7 @@ // QTBUG-72828 void tst_output::screenOrder() { - exec([=] { + exec([&] { add<Output>()->m_data.model = "Screen 1"; add<Output>()->m_data.model = "Screen 2"; }); @@ -197,7 +197,7 @@ QCOMPARE(screens[1]->model(), "Screen 1"); QCOMPARE(screens[2]->model(), "Screen 2"); - exec([=] { + exec([&] { remove(output(2)); remove(output(1)); }); @@ -215,8 +215,8 @@ const QString wlOutputPrimaryScreenModel = QGuiApplication::primaryScreen()->model(); // Get screen info so we can restore it after - auto screenInfo = exec([=] { return output()->m_data; }); - exec([=] { remove(output()); }); + auto screenInfo = exec([&] { return output()->m_data; }); + exec([&] { remove(output()); }); // Make sure the wl_output is actually removed before we continue QTRY_VERIFY(!QGuiApplication::primaryScreen() || QGuiApplication::primaryScreen()->model() != wlOutputPrimaryScreenModel); @@ -226,7 +226,7 @@ window2.resize(400, 320); window2.show(); - exec([=] { add<Output>(screenInfo); }); + exec([&] { add<Output>(screenInfo); }); // Things should be back to normal QTRY_VERIFY(QGuiApplication::primaryScreen()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/tests/auto/client/primaryselectionv1/tst_primaryselectionv1.cpp new/qtwayland-everywhere-src-6.5.3/tests/auto/client/primaryselectionv1/tst_primaryselectionv1.cpp --- old/qtwayland-everywhere-src-6.5.2/tests/auto/client/primaryselectionv1/tst_primaryselectionv1.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/tests/auto/client/primaryselectionv1/tst_primaryselectionv1.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -261,7 +261,7 @@ void tst_primaryselectionv1::createsPrimaryDeviceForNewSeats() { - exec([=] { add<Seat>(); }); + exec([&] { add<Seat>(); }); QCOMPOSITOR_TRY_VERIFY(primarySelectionDevice(1)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/tests/auto/client/scaling/tst_scaling.cpp new/qtwayland-everywhere-src-6.5.3/tests/auto/client/scaling/tst_scaling.cpp --- old/qtwayland-everywhere-src-6.5.2/tests/auto/client/scaling/tst_scaling.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/tests/auto/client/scaling/tst_scaling.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -33,12 +33,12 @@ window.show(); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - QSignalSpy configureSpy(exec([=] { return xdgSurface(); }), &XdgSurface::configureCommitted); - QSignalSpy surfaceCommitSpy(exec([=] { return surface(); }), &Surface::commit); + QSignalSpy configureSpy(exec([&] { return xdgSurface(); }), &XdgSurface::configureCommitted); + QSignalSpy surfaceCommitSpy(exec([&] { return surface(); }), &Surface::commit); const QSize configureSize(100, 100); - exec([=] { + exec([&] { QVERIFY(fractionalScale()); fractionalScale()->send_preferred_scale(1.5 * 120); xdgToplevel()->sendCompleteConfigure(configureSize); @@ -47,7 +47,7 @@ QTRY_COMPARE(configureSpy.count(), 1); QCOMPARE(window.devicePixelRatio(), 1.5); - exec([=] { + exec([&] { Buffer *buffer = xdgToplevel()->surface()->m_committed.buffer; QVERIFY(buffer); QCOMPARE(buffer->size(), QSize(150, 150)); @@ -61,7 +61,7 @@ QCOMPARE(window.size(), QSize(200,200)); QVERIFY(surfaceCommitSpy.wait()); - exec([=] { + exec([&] { Buffer *buffer = xdgToplevel()->surface()->m_committed.buffer; QVERIFY(buffer); QCOMPARE(buffer->size(), QSize(300, 300)); @@ -71,7 +71,7 @@ }); // dynamic scale change - exec([=] { + exec([&] { QVERIFY(fractionalScale()); fractionalScale()->send_preferred_scale(2.5 * 120); }); @@ -79,7 +79,7 @@ QCOMPARE(window.size(), QSize(200,200)); QVERIFY(surfaceCommitSpy.wait()); - exec([=] { + exec([&] { Buffer *buffer = xdgToplevel()->surface()->m_committed.buffer; QVERIFY(buffer); QCOMPARE(buffer->size(), QSize(500, 500)); @@ -112,9 +112,9 @@ window.show(); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - QSignalSpy surfaceCommitSpy(exec([=] { return surface(); }), &Surface::commit); + QSignalSpy surfaceCommitSpy(exec([&] { return surface(); }), &Surface::commit); - exec([=] { + exec([&] { QVERIFY(fractionalScale()); fractionalScale()->send_preferred_scale(scale * 120); xdgToplevel()->sendCompleteConfigure(); @@ -122,7 +122,7 @@ QVERIFY(surfaceCommitSpy.wait()); - exec([=] { + exec([&] { Buffer *buffer = xdgToplevel()->surface()->m_committed.buffer; QVERIFY(buffer); QCOMPARE(buffer->size(), expectedBufferSize); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/tests/auto/client/seat/tst_seat.cpp new/qtwayland-everywhere-src-6.5.3/tests/auto/client/seat/tst_seat.cpp --- old/qtwayland-everywhere-src-6.5.2/tests/auto/client/seat/tst_seat.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/tests/auto/client/seat/tst_seat.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -70,7 +70,7 @@ window.show(); QCOMPOSITOR_TRY_VERIFY(xdgSurface() && xdgSurface()->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *surface = xdgSurface()->m_surface; pointer()->sendEnter(surface, {0, 0}); pointer()->sendFrame(surface->resource()->client()); @@ -81,13 +81,13 @@ void tst_seat::usesEnterSerial() { - QSignalSpy setCursorSpy(exec([=] { return pointer(); }), &Pointer::setCursor); + QSignalSpy setCursorSpy(exec([&] { return pointer(); }), &Pointer::setCursor); QRasterWindow window; window.resize(64, 64); window.show(); QCOMPOSITOR_TRY_VERIFY(xdgSurface() && xdgSurface()->m_committedConfigureSerial); - uint enterSerial = exec([=] { + uint enterSerial = exec([&] { return pointer()->sendEnter(xdgSurface()->m_surface, {0, 0}); }); QCOMPOSITOR_TRY_VERIFY(pointer()->cursorSurface()); @@ -164,7 +164,7 @@ WheelWindow window; QCOMPOSITOR_TRY_VERIFY(xdgSurface() && xdgSurface()->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *p = pointer(); p->sendEnter(xdgToplevel()->surface(), {32, 32}); p->sendFrame(client()); @@ -196,7 +196,7 @@ WheelWindow window; QCOMPOSITOR_TRY_VERIFY(xdgSurface() && xdgSurface()->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *p = pointer(); auto *c = client(); p->sendEnter(xdgToplevel()->surface(), {32, 32}); @@ -236,7 +236,7 @@ QTRY_VERIFY(window.m_events.empty()); // Scroll horizontally as well - exec([=] { + exec([&] { pointer()->sendAxisSource(client(), Pointer::axis_source_finger); pointer()->sendAxis(client(), Pointer::axis_horizontal_scroll, 10); pointer()->sendFrame(client()); @@ -251,7 +251,7 @@ } // Scroll diagonally - exec([=] { + exec([&] { pointer()->sendAxisSource(client(), Pointer::axis_source_finger); pointer()->sendAxis(client(), Pointer::axis_horizontal_scroll, 10); pointer()->sendAxis(client(), Pointer::axis_vertical_scroll, 10); @@ -275,7 +275,7 @@ QVERIFY(window.m_events.empty()); // Sending axis_stop is mandatory when axis source == finger - exec([=] { + exec([&] { pointer()->sendAxisStop(client(), Pointer::axis_vertical_scroll); pointer()->sendFrame(client()); }); @@ -293,7 +293,7 @@ WheelWindow window; QCOMPOSITOR_TRY_VERIFY(xdgSurface() && xdgSurface()->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *p = pointer(); auto *c = client(); p->sendEnter(xdgToplevel()->surface(), {32, 32}); @@ -323,7 +323,7 @@ WheelWindow window; QCOMPOSITOR_TRY_VERIFY(xdgSurface() && xdgSurface()->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *p = pointer(); auto *c = client(); p->sendEnter(xdgToplevel()->surface(), {32, 32}); @@ -344,7 +344,7 @@ QCOMPARE(e.pixelDelta, QPoint(0, 0)); } - exec([=] { + exec([&] { auto *p = pointer(); auto *c = client(); p->sendAxisSource(c, Pointer::axis_source_wheel); @@ -369,7 +369,7 @@ WheelWindow window; QCOMPOSITOR_TRY_VERIFY(xdgSurface() && xdgSurface()->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *p = pointer(); auto *c = client(); p->sendEnter(xdgToplevel()->surface(), {32, 32}); @@ -429,7 +429,7 @@ TouchWindow window; QCOMPOSITOR_TRY_VERIFY(xdgSurface() && xdgSurface()->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *t = touch(); auto *c = client(); t->sendDown(xdgToplevel()->surface(), {32, 32}, 1); @@ -460,7 +460,7 @@ TouchWindow window; QCOMPOSITOR_TRY_VERIFY(xdgSurface() && xdgSurface()->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *t = touch(); auto *c = client(); t->sendDown(xdgToplevel()->surface(), {32.75, 32.25}, 1); @@ -491,7 +491,7 @@ TouchWindow window; QCOMPOSITOR_TRY_VERIFY(xdgSurface() && xdgSurface()->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *t = touch(); auto *c = client(); @@ -563,7 +563,7 @@ TouchWindow window; QCOMPOSITOR_TRY_VERIFY(xdgSurface() && xdgSurface()->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *t = touch(); auto *c = client(); @@ -612,7 +612,7 @@ TouchWindow window; QCOMPOSITOR_TRY_VERIFY(xdgSurface() && xdgSurface()->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *t = touch(); auto *c = client(); @@ -644,7 +644,7 @@ TouchWindow window; QCOMPOSITOR_TRY_VERIFY(xdgSurface() && xdgSurface()->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *t = touch(); auto *c = client(); t->sendDown(xdgToplevel()->surface(), {32, 32}, 1); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/tests/auto/client/seatv7/tst_seatv7.cpp new/qtwayland-everywhere-src-6.5.3/tests/auto/client/seatv7/tst_seatv7.cpp --- old/qtwayland-everywhere-src-6.5.2/tests/auto/client/seatv7/tst_seatv7.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/tests/auto/client/seatv7/tst_seatv7.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -100,7 +100,7 @@ QFETCH(uint, source); - exec([=] { + exec([&] { auto *p = pointer(); auto *c = client(); p->sendEnter(xdgToplevel()->surface(), {32, 32}); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/tests/auto/client/shared/mockcompositor.cpp new/qtwayland-everywhere-src-6.5.3/tests/auto/client/shared/mockcompositor.cpp --- old/qtwayland-everywhere-src-6.5.2/tests/auto/client/shared/mockcompositor.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/tests/auto/client/shared/mockcompositor.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -37,8 +37,8 @@ // 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(); @@ -49,7 +49,7 @@ }); }); - 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); @@ -93,8 +93,8 @@ void DefaultCompositor::xdgPingAndWaitForPong() { - QSignalSpy pongSpy(exec([=] { return get<XdgWmBase>(); }), &XdgWmBase::pong); - uint serial = exec([=] { return sendXdgShellPing(); }); + 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); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/tests/auto/client/surface/tst_surface.cpp new/qtwayland-everywhere-src-6.5.3/tests/auto/client/surface/tst_surface.cpp --- old/qtwayland-everywhere-src-6.5.2/tests/auto/client/surface/tst_surface.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/tests/auto/client/surface/tst_surface.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -51,8 +51,8 @@ TestWindow window; window.show(); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - QSignalSpy bufferSpy(exec([=] { return xdgSurface()->m_surface; }), &Surface::bufferCommitted); - exec([=] { xdgToplevel()->sendCompleteConfigure(); }); + QSignalSpy bufferSpy(exec([&] { return xdgSurface()->m_surface; }), &Surface::bufferCommitted); + exec([&] { xdgToplevel()->sendCompleteConfigure(); }); // We should get the first buffer without waiting for a frame callback QTRY_COMPARE(bufferSpy.size(), 1); @@ -92,8 +92,8 @@ TestWindow window; window.show(); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - QSignalSpy bufferSpy(exec([=] { return xdgSurface()->m_surface; }), &Surface::bufferCommitted); - exec([=] { xdgToplevel()->sendCompleteConfigure(); }); + QSignalSpy bufferSpy(exec([&] { return xdgSurface()->m_surface; }), &Surface::bufferCommitted); + exec([&] { xdgToplevel()->sendCompleteConfigure(); }); // We should get the first buffer without waiting for a frame callback QTRY_COMPARE(bufferSpy.size(), 1); @@ -128,8 +128,8 @@ window.resize(64, 48); window.show(); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - QSignalSpy bufferSpy(exec([=] { return xdgSurface()->m_surface; }), &Surface::bufferCommitted); - const uint serial = exec([=] { return xdgToplevel()->sendCompleteConfigure(); }); + QSignalSpy bufferSpy(exec([&] { return xdgSurface()->m_surface; }), &Surface::bufferCommitted); + const uint serial = exec([&] { return xdgToplevel()->sendCompleteConfigure(); }); QCOMPOSITOR_TRY_COMPARE(xdgSurface()->m_committedConfigureSerial, serial); exec([&] { Buffer *buffer = xdgToplevel()->surface()->m_committed.buffer; @@ -157,11 +157,11 @@ QCOMPOSITOR_TRY_VERIFY(subSurface()); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - exec([=] { xdgToplevel()->sendCompleteConfigure(); }); + exec([&] { xdgToplevel()->sendCompleteConfigure(); }); QCOMPOSITOR_TRY_VERIFY(xdgSurface()->m_committedConfigureSerial); - const Surface *mainSurface = exec([=] {return surface(0);}); - const Surface *childSurface = exec([=] {return surface(1);}); + const Surface *mainSurface = exec([&] {return surface(0);}); + const Surface *childSurface = exec([&] {return surface(1);}); QSignalSpy mainSurfaceCommitSpy(mainSurface, &Surface::commit); QSignalSpy childSurfaceCommitSpy(childSurface, &Surface::commit); @@ -187,7 +187,7 @@ window.resize(64, 64); window.show(); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - exec([=] { xdgToplevel()->sendCompleteConfigure(); }); + exec([&] { xdgToplevel()->sendCompleteConfigure(); }); QCOMPOSITOR_TRY_VERIFY(xdgSurface()->m_committedConfigureSerial); window.hide(); @@ -201,7 +201,7 @@ xdgPingAndWaitForPong(); // Make sure the subsurface was actually created - const Subsurface *subsurface = exec([=] {return subSurface(0);}); + const Subsurface *subsurface = exec([&] {return subSurface(0);}); QVERIFY(subsurface); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/tests/auto/client/xdgdecorationv1/tst_xdgdecorationv1.cpp new/qtwayland-everywhere-src-6.5.3/tests/auto/client/xdgdecorationv1/tst_xdgdecorationv1.cpp --- old/qtwayland-everywhere-src-6.5.2/tests/auto/client/xdgdecorationv1/tst_xdgdecorationv1.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/tests/auto/client/xdgdecorationv1/tst_xdgdecorationv1.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -151,7 +151,7 @@ QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); QCOMPOSITOR_TRY_VERIFY(toplevelDecoration()->m_unsetModeRequested); QVERIFY(window.frameMargins().isNull()); // We're still waiting for a configure - exec([=] { + exec([&] { toplevelDecoration()->sendConfigure(XdgToplevelDecorationV1::mode_client_side); xdgToplevel()->sendCompleteConfigure(); }); @@ -165,7 +165,7 @@ window.show(); QCOMPOSITOR_TRY_COMPARE(get<XdgDecorationManagerV1>()->resourceMap().size(), 1); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - exec([=]{ + exec([&]{ xdgToplevel()->sendCompleteConfigure(); }); QCOMPOSITOR_TRY_VERIFY(xdgSurface()->m_committedConfigureSerial); @@ -181,7 +181,7 @@ window.show(); QCOMPOSITOR_TRY_COMPARE(get<XdgDecorationManagerV1>()->resourceMap().size(), 1); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - exec([=]{ + exec([&]{ xdgToplevel()->sendCompleteConfigure(); }); QCOMPOSITOR_TRY_VERIFY(xdgSurface()->m_committedConfigureSerial); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/tests/auto/client/xdgoutput/tst_xdgoutput.cpp new/qtwayland-everywhere-src-6.5.3/tests/auto/client/xdgoutput/tst_xdgoutput.cpp --- old/qtwayland-everywhere-src-6.5.2/tests/auto/client/xdgoutput/tst_xdgoutput.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/tests/auto/client/xdgoutput/tst_xdgoutput.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -42,7 +42,7 @@ { // Verify that the client has bound to the global QCOMPOSITOR_TRY_COMPARE(get<XdgOutputManagerV1>()->resourceMap().size(), 1); - exec([=] { + exec([&] { auto *resource = xdgOutput()->resourceMap().value(client()); QCOMPARE(resource->version(), 3); QCOMPARE(xdgOutput()->m_logicalGeometry.size(), QSize(1920, 1080)); @@ -55,7 +55,7 @@ void tst_xdgoutput::overrideGeometry() { - exec([=] { + exec([&] { auto *output = add<Output>(); auto *xdgOutput = get<XdgOutputManagerV1>()->getXdgOutput(output); xdgOutput->m_logicalGeometry = QRect(10, 20, 800, 1200); @@ -67,12 +67,12 @@ QTRY_COMPARE(s->size(), QSize(800, 1200)); QTRY_COMPARE(s->geometry().topLeft(), QPoint(10, 20)); - exec([=] { remove(output(1)); }); + exec([&] { remove(output(1)); }); } void tst_xdgoutput::changeGeometry() { - auto *xdgOutput = exec([=] { + auto *xdgOutput = exec([&] { auto *output = add<Output>(); auto *xdgOutput = get<XdgOutputManagerV1>()->getXdgOutput(output); xdgOutput->m_logicalGeometry = QRect(10, 20, 800, 1200); @@ -83,7 +83,7 @@ auto *screen = QGuiApplication::screens()[1]; QTRY_COMPARE(screen->size(), QSize(800, 1200)); - exec([=] { + exec([&] { xdgOutput->sendLogicalSize(QSize(1024, 768)); }); @@ -91,21 +91,21 @@ // done event. If we TRY_COMPARE immediately, we risk that the client just hasn't handled the // logical_size request yet, so we add a screen and verify it on the client side just to give // the client a chance to mess up. - exec([=] { add<Output>(); }); + exec([&] { add<Output>(); }); QTRY_COMPARE(QGuiApplication::screens().size(), 3); - exec([=] { remove(output(2)); }); + exec([&] { remove(output(2)); }); // The logical_size event should have been handled by now, but state should not have been applied yet. QTRY_COMPARE(screen->size(), QSize(800, 1200)); - exec([=] { + exec([&] { xdgOutput->m_output->sendDone(); }); // Finally, the size should change QTRY_COMPARE(screen->size(), QSize(1024, 768)); - exec([=] { remove(output(1)); }); + exec([&] { remove(output(1)); }); } QCOMPOSITOR_TEST_MAIN(tst_xdgoutput) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-6.5.2/tests/auto/client/xdgshell/tst_xdgshell.cpp new/qtwayland-everywhere-src-6.5.3/tests/auto/client/xdgshell/tst_xdgshell.cpp --- old/qtwayland-everywhere-src-6.5.2/tests/auto/client/xdgshell/tst_xdgshell.cpp 2023-07-07 14:29:08.000000000 +0200 +++ new/qtwayland-everywhere-src-6.5.3/tests/auto/client/xdgshell/tst_xdgshell.cpp 2023-09-24 11:46:00.000000000 +0200 @@ -60,13 +60,13 @@ window.show(); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - QSignalSpy configureSpy(exec([=] { return xdgSurface(); }), &XdgSurface::configureCommitted); + QSignalSpy configureSpy(exec([&] { return xdgSurface(); }), &XdgSurface::configureCommitted); QTRY_VERIFY(window.isVisible()); // The window should not be exposed before the first xdg_surface configure event QTRY_VERIFY(!window.isExposed()); - exec([=] { + exec([&] { xdgToplevel()->sendConfigure({0, 0}, {}); // Let the window decide the size }); @@ -74,9 +74,9 @@ QTRY_VERIFY(!window.isExposed()); //Window should not be exposed before the first configure event QVERIFY(configureSpy.isEmpty()); - const uint serial = exec([=] { return nextSerial(); }); + const uint serial = exec([&] { return nextSerial(); }); - exec([=] { + exec([&] { xdgSurface()->sendConfigure(serial); }); @@ -102,17 +102,17 @@ window.show(); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - QSignalSpy configureSpy(exec([=] { return xdgSurface(); }), &XdgSurface::configureCommitted); + QSignalSpy configureSpy(exec([&] { return xdgSurface(); }), &XdgSurface::configureCommitted); const QSize configureSize(60, 40); - exec([=] { + exec([&] { xdgToplevel()->sendCompleteConfigure(configureSize); }); QTRY_COMPARE(configureSpy.size(), 1); - exec([=] { + exec([&] { Buffer *buffer = xdgToplevel()->surface()->m_committed.buffer; QVERIFY(buffer); QCOMPARE(buffer->size(), configureSize); @@ -128,7 +128,7 @@ QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); const QSize windowedSize(320, 240); - const uint windowedSerial = exec([=] { + const uint windowedSerial = exec([&] { return xdgToplevel()->sendCompleteConfigure(windowedSize, { XdgToplevel::state_activated }); }); QCOMPOSITOR_TRY_COMPARE(xdgSurface()->m_committedConfigureSerial, windowedSerial); @@ -146,7 +146,7 @@ Qt::WindowActive)); // Just make sure it eventually get's set correctly const QSize screenSize(640, 480); - const uint maximizedSerial = exec([=] { + const uint maximizedSerial = exec([&] { return xdgToplevel()->sendCompleteConfigure(screenSize, { XdgToplevel::state_activated, XdgToplevel::state_maximized }); }); QCOMPOSITOR_TRY_COMPARE(xdgSurface()->m_committedConfigureSerial, maximizedSerial); @@ -155,7 +155,7 @@ QCOMPARE(window.frameGeometry().size(), screenSize); // QCOMPARE(window.frameGeometry().topLeft(), QPoint()); // TODO: this doesn't currently work when window decorations are enabled - const uint fullscreenSerial = exec([=] { + const uint fullscreenSerial = exec([&] { return xdgToplevel()->sendCompleteConfigure(screenSize, { XdgToplevel::state_activated, XdgToplevel::state_fullscreen }); }); QCOMPOSITOR_TRY_COMPARE(xdgSurface()->m_committedConfigureSerial, fullscreenSerial); @@ -165,7 +165,7 @@ // QCOMPARE(window.frameGeometry().topLeft(), QPoint()); // TODO: this doesn't currently work when window decorations are enabled // The window should remember its original size - const uint restoreSerial = exec([=] { + const uint restoreSerial = exec([&] { return xdgToplevel()->sendCompleteConfigure({0, 0}, { XdgToplevel::state_activated }); }); QCOMPOSITOR_TRY_COMPARE(xdgSurface()->m_committedConfigureSerial, restoreSerial); @@ -184,7 +184,7 @@ QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); // Take xdg_toplevel.configure_bounds into account only if the configure event has 0x0 size. - const uint serial1 = exec([=] { + const uint serial1 = exec([&] { xdgToplevel()->sendConfigureBounds(QSize(800, 600)); return xdgToplevel()->sendCompleteConfigure(QSize(0, 0), { XdgToplevel::state_activated }); }); @@ -192,7 +192,7 @@ QCOMPARE(window.frameGeometry().size(), QSize(800, 600)); // Window size in xdg_toplevel configure events takes precedence over the configure bounds. - const uint serial2 = exec([=] { + const uint serial2 = exec([&] { xdgToplevel()->sendConfigureBounds(QSize(800, 600)); return xdgToplevel()->sendCompleteConfigure(QSize(1600, 900), { XdgToplevel::state_activated }); }); @@ -220,11 +220,11 @@ window.show(); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - QSignalSpy toplevelConfigureSpy(exec([=] { return xdgSurface(); }), &XdgSurface::configureCommitted); - exec([=] { xdgToplevel()->sendCompleteConfigure(); }); + QSignalSpy toplevelConfigureSpy(exec([&] { return xdgSurface(); }), &XdgSurface::configureCommitted); + exec([&] { xdgToplevel()->sendCompleteConfigure(); }); QTRY_COMPARE(toplevelConfigureSpy.size(), 1); - uint clickSerial = exec([=] { + uint clickSerial = exec([&] { auto *surface = xdgToplevel()->surface(); auto *p = pointer(); auto *c = client(); @@ -238,7 +238,7 @@ QTRY_VERIFY(window.m_popup); QCOMPOSITOR_TRY_VERIFY(xdgPopup()); - QSignalSpy popupConfigureSpy(exec([=] { return xdgPopup()->m_xdgSurface; }), &XdgSurface::configureCommitted); + QSignalSpy popupConfigureSpy(exec([&] { return xdgPopup()->m_xdgSurface; }), &XdgSurface::configureCommitted); QCOMPOSITOR_TRY_VERIFY(xdgPopup()->m_grabbed); QCOMPOSITOR_TRY_COMPARE(xdgPopup()->m_grabSerial, clickSerial); @@ -246,13 +246,13 @@ QVERIFY(!popup->isExposed()); // wait for configure QRect rect1 = QRect(100, 100, 100, 100); - exec([=] { xdgPopup()->sendConfigure(rect1); }); + exec([&] { xdgPopup()->sendConfigure(rect1); }); // Nothing should happen before the *xdg_surface* configure QTRY_VERIFY(!popup->isExposed()); // Popup shouldn't be exposed before the first configure event QVERIFY(popupConfigureSpy.isEmpty()); - const uint configureSerial = exec([=] { + const uint configureSerial = exec([&] { return xdgPopup()->m_xdgSurface->sendConfigure(); }); @@ -265,9 +265,9 @@ QCOMPARE(popup->geometry(), rect1); QRect rect2 = QRect(50, 50, 150, 150); - exec([=] { xdgPopup()->sendConfigure(rect2); }); + exec([&] { xdgPopup()->sendConfigure(rect2); }); - const uint configureSerial2 = exec([=] { + const uint configureSerial2 = exec([&] { return xdgPopup()->m_xdgSurface->sendConfigure(); }); @@ -318,10 +318,10 @@ window.show(); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - exec([=] { xdgToplevel()->sendCompleteConfigure(); }); + exec([&] { xdgToplevel()->sendCompleteConfigure(); }); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()->m_xdgSurface->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *surface = xdgToplevel()->surface(); auto *p = pointer(); auto *c = client(); @@ -335,11 +335,11 @@ }); QCOMPOSITOR_TRY_VERIFY(xdgPopup()); - exec([=] { xdgPopup()->sendCompleteConfigure(QRect(100, 100, 100, 100)); }); + exec([&] { xdgPopup()->sendCompleteConfigure(QRect(100, 100, 100, 100)); }); QCOMPOSITOR_TRY_VERIFY(xdgPopup()->m_xdgSurface->m_committedConfigureSerial); QCOMPOSITOR_TRY_VERIFY(xdgPopup()->m_grabbed); - exec([=] { + exec([&] { auto *surface = xdgPopup()->surface(); auto *p = pointer(); auto *c = client(); @@ -351,7 +351,7 @@ }); QCOMPOSITOR_TRY_VERIFY(xdgPopup(1)); - exec([=] { xdgPopup(1)->sendCompleteConfigure(QRect(100, 100, 100, 100)); }); + exec([&] { xdgPopup(1)->sendCompleteConfigure(QRect(100, 100, 100, 100)); }); QCOMPOSITOR_TRY_VERIFY(xdgPopup(1)->m_xdgSurface->m_committedConfigureSerial); QCOMPOSITOR_TRY_VERIFY(!xdgPopup(1)->m_grabbed); @@ -400,10 +400,10 @@ window.show(); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - exec([=] { xdgToplevel()->sendCompleteConfigure(); }); + exec([&] { xdgToplevel()->sendCompleteConfigure(); }); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()->m_xdgSurface->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *surface = xdgToplevel()->surface(); auto *p = pointer(); auto *c = client(); @@ -417,11 +417,11 @@ }); QCOMPOSITOR_TRY_VERIFY(xdgPopup()); - exec([=] { xdgPopup()->sendCompleteConfigure(QRect(100, 100, 100, 100)); }); + exec([&] { xdgPopup()->sendCompleteConfigure(QRect(100, 100, 100, 100)); }); QCOMPOSITOR_TRY_VERIFY(xdgPopup()->m_xdgSurface->m_committedConfigureSerial); QCOMPOSITOR_TRY_VERIFY(!xdgPopup()->m_grabbed); - exec([=] { + exec([&] { auto *surface = xdgPopup()->surface(); auto *p = pointer(); auto *c = client(); @@ -433,7 +433,7 @@ }); QCOMPOSITOR_TRY_VERIFY(xdgPopup(1)); - exec([=] { xdgPopup(1)->sendCompleteConfigure(QRect(100, 100, 100, 100)); }); + exec([&] { xdgPopup(1)->sendCompleteConfigure(QRect(100, 100, 100, 100)); }); QCOMPOSITOR_TRY_VERIFY(xdgPopup(1)->m_xdgSurface->m_committedConfigureSerial); QCOMPOSITOR_TRY_VERIFY(xdgPopup(1)->m_grabbed); @@ -488,10 +488,10 @@ window.show(); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - exec([=] { xdgToplevel()->sendCompleteConfigure(); }); + exec([&] { xdgToplevel()->sendCompleteConfigure(); }); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()->m_xdgSurface->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *surface = xdgToplevel()->surface(); auto *p = pointer(); auto *c = client(); @@ -505,13 +505,13 @@ }); QCOMPOSITOR_TRY_VERIFY(xdgPopup()); - exec([=] { xdgPopup()->sendCompleteConfigure(QRect(100, 100, 100, 100)); }); + exec([&] { xdgPopup()->sendCompleteConfigure(QRect(100, 100, 100, 100)); }); QCOMPOSITOR_TRY_VERIFY(xdgPopup()->m_xdgSurface->m_committedConfigureSerial); QCOMPOSITOR_TRY_VERIFY(xdgPopup()->m_grabbed); - QSignalSpy firstDestroyed(exec([=] { return xdgPopup(); }), &XdgPopup::destroyRequested); + QSignalSpy firstDestroyed(exec([&] { return xdgPopup(); }), &XdgPopup::destroyRequested); - exec([=] { + exec([&] { auto *surface = xdgToplevel()->surface(); auto *p = pointer(); auto *c = client(); @@ -536,7 +536,7 @@ QCOMPOSITOR_TRY_VERIFY(xdgPopup()->m_parentXdgSurface == xdgToplevel()->m_xdgSurface); // For good measure just check that configuring works as usual - exec([=] { xdgPopup()->sendCompleteConfigure(QRect(100, 100, 100, 100)); }); + exec([&] { xdgPopup()->sendCompleteConfigure(QRect(100, 100, 100, 100)); }); QCOMPOSITOR_TRY_VERIFY(xdgPopup()->m_xdgSurface->m_committedConfigureSerial); } @@ -560,10 +560,10 @@ window.show(); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - exec([=] { xdgToplevel()->sendCompleteConfigure(); }); + exec([&] { xdgToplevel()->sendCompleteConfigure(); }); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()->m_xdgSurface->m_committedConfigureSerial); - exec([=] { + exec([&] { auto *surface = xdgToplevel()->surface(); auto *p = pointer(); auto *c = client(); @@ -574,7 +574,7 @@ p->sendFrame(c); }); QCOMPOSITOR_TRY_VERIFY(xdgPopup()); - exec([=] { + exec([&] { xdgPopup()->sendConfigure(QRect(100, 100, 100, 100)); xdgPopup()->m_xdgSurface->sendConfigure(); }); @@ -595,9 +595,9 @@ // Verify that the client has bound to the global QCOMPOSITOR_TRY_COMPARE(get<XdgWmBase>()->resourceMap().size(), 1); - QSignalSpy pongSpy(exec([=] { return get<XdgWmBase>(); }), &XdgWmBase::pong); - const uint serial = exec([=] { return nextSerial(); }); - exec([=] { + QSignalSpy pongSpy(exec([&] { return get<XdgWmBase>(); }), &XdgWmBase::pong); + const uint serial = exec([&] { return nextSerial(); }); + exec([&] { auto *base = get<XdgWmBase>(); wl_resource *resource = base->resourceMap().first()->handle; base->send_ping(resource, serial); @@ -634,7 +634,7 @@ window.show(); QCOMPOSITOR_TRY_VERIFY(xdgToplevel()); - exec([=] { xdgToplevel()->sendCompleteConfigure(); }); + exec([&] { xdgToplevel()->sendCompleteConfigure(); }); QSize marginsSize; marginsSize.setWidth(window.frameMargins().left() + window.frameMargins().right()); @@ -666,7 +666,7 @@ // Just do something to make sure we don't destroy the surface before // the pointer events above are handled. - QSignalSpy spy(exec([=] { return surface(newSurfaceIndex); }), &Surface::commit); + QSignalSpy spy(exec([&] { return surface(newSurfaceIndex); }), &Surface::commit); wl_surface_commit(foreignSurface); QTRY_COMPARE(spy.size(), 1);