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);
 

Reply via email to