Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libqt5-qtwayland for 
openSUSE:Factory checked in at 2023-01-11 14:33:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtwayland (Old)
 and      /work/SRC/openSUSE:Factory/.libqt5-qtwayland.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libqt5-qtwayland"

Wed Jan 11 14:33:11 2023 rev:48 rq:1057247 version:5.15.8+kde57

Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-qtwayland/libqt5-qtwayland.changes        
2022-11-04 17:32:47.672129228 +0100
+++ 
/work/SRC/openSUSE:Factory/.libqt5-qtwayland.new.32243/libqt5-qtwayland.changes 
    2023-01-11 14:33:48.772809800 +0100
@@ -1,0 +2,18 @@
+Mon Jan  9 09:24:02 UTC 2023 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to version 5.15.8+kde57, rebased upstream:
+  * client: Avoid protocol error with invalid min/max size
+  * Fixes the build on CentOS
+  * Client: Handle zwp_primary_selection_device_manager_v1 global removal
+  * Fix frame sync related to unprotected multithread access
+  * Client: Bump wl_output version
+  * Client: Call wl_output_release() upon QWaylandScreen destruction
+  * Client: Add F_SEAL_SHRINK seal to shm backing file
+  * Revert "Client: Ensure that wl_surface lives as long as qtquick render 
thread needs it"
+  * Keep toplevel windows in the top left corner of the screen
+  * Client: Ensure that wl_surface lives as long as qtquick render thread 
needs it
+  * Use a correct serial for xdg_surface.ack_configure
+  * tst_seatv4: fix compilation with GCC/C++20
+  * tst_seatv4: fix deprecated implicit capture of this by [=]
+
+-------------------------------------------------------------------

Old:
----
  qtwayland-everywhere-src-5.15.7+kde49.obscpio

New:
----
  qtwayland-everywhere-src-5.15.8+kde57.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libqt5-qtwayland.spec ++++++
--- /var/tmp/diff_new_pack.Zk82h6/_old  2023-01-11 14:33:49.672814888 +0100
+++ /var/tmp/diff_new_pack.Zk82h6/_new  2023-01-11 14:33:49.676814910 +0100
@@ -22,11 +22,11 @@
 %define qt5_snapshot 1
 %define libname libQt5WaylandCompositor5
 %define base_name libqt5
-%define real_version 5.15.7
-%define so_version 5.15.7
+%define real_version 5.15.8
+%define so_version 5.15.8
 %define tar_version qtwayland-everywhere-src-%{version}
 Name:           libqt5-qtwayland
-Version:        5.15.7+kde49
+Version:        5.15.8+kde57
 Release:        0
 Summary:        Qt 5 Wayland Addon
 # The wayland compositor files are GPL-3.0-or-later

++++++ _service ++++++
--- /var/tmp/diff_new_pack.Zk82h6/_old  2023-01-11 14:33:49.720815159 +0100
+++ /var/tmp/diff_new_pack.Zk82h6/_new  2023-01-11 14:33:49.724815182 +0100
@@ -1,12 +1,12 @@
 <services>
   <service name="obs_scm" mode="disabled">
    <param name="changesgenerate">enable</param>
-   <param name="versionformat">5.15.7+kde@TAG_OFFSET@</param>
+   <param name="versionformat">5.15.8+kde@TAG_OFFSET@</param>
    <param name="url">https://invent.kde.org/qt/qt/qtwayland.git</param>
    <param name="scm">git</param>
    <param name="filename">qtwayland-everywhere-src</param>
    <param name="revision">kde/5.15</param>
-   <param name="parent-tag">v5.15.7-lts-lgpl</param>
+   <param name="parent-tag">v5.15.8-lts-lgpl</param>
    <param name="changesgenerate">enable</param>
   </service>
   <service name="set_version" mode="disabled"/>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Zk82h6/_old  2023-01-11 14:33:49.744815295 +0100
+++ /var/tmp/diff_new_pack.Zk82h6/_new  2023-01-11 14:33:49.748815318 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://invent.kde.org/qt/qt/qtwayland.git</param>
-              <param 
name="changesrevision">8f0c9169310344c8f179311bae446239cdb61f68</param></service></servicedata>
+              <param 
name="changesrevision">f6a1e838e371dc90272c62daeea597fe487dec3e</param></service></servicedata>
 (No newline at EOF)
 

++++++ qtwayland-everywhere-src-5.15.7+kde49.obscpio -> 
qtwayland-everywhere-src-5.15.8+kde57.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtwayland-everywhere-src-5.15.7+kde49/.qmake.conf 
new/qtwayland-everywhere-src-5.15.8+kde57/.qmake.conf
--- old/qtwayland-everywhere-src-5.15.7+kde49/.qmake.conf       2022-10-28 
12:26:51.000000000 +0200
+++ new/qtwayland-everywhere-src-5.15.8+kde57/.qmake.conf       2023-01-05 
07:51:24.000000000 +0100
@@ -4,4 +4,4 @@
 DEFINES += QT_NO_JAVA_STYLE_ITERATORS
 DEFINES += QT_NO_LINKED_LIST
 
-MODULE_VERSION = 5.15.7
+MODULE_VERSION = 5.15.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylanddisplay.cpp 
new/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylanddisplay.cpp
--- old/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylanddisplay.cpp    
2022-10-28 12:26:51.000000000 +0200
+++ new/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylanddisplay.cpp    
2023-01-05 07:51:24.000000000 +0100
@@ -515,6 +515,8 @@
 #if QT_CONFIG(wayland_client_primary_selection)
     } else if (interface == 
QStringLiteral("zwp_primary_selection_device_manager_v1")) {
         mPrimarySelectionManager.reset(new 
QWaylandPrimarySelectionDeviceManagerV1(this, id, 1));
+        for (QWaylandInputDevice *inputDevice : qAsConst(mInputDevices))
+            
inputDevice->setPrimarySelectionDevice(mPrimarySelectionManager->createDevice(inputDevice));
 #endif
     } else if (interface == QStringLiteral("zwp_text_input_manager_v2") && 
!mClientSideInputContextRequested) {
         mTextInputManager.reset(new 
QtWayland::zwp_text_input_manager_v2(registry, id, 1));
@@ -573,6 +575,13 @@
                     inputDevice->setTextInput(nullptr);
                 mWaylandIntegration->reconfigureInputContext();
             }
+#if QT_CONFIG(wayland_client_primary_selection)
+            if (global.interface == 
QStringLiteral("zwp_primary_selection_device_manager_v1")) {
+                mPrimarySelectionManager.reset();
+                for (QWaylandInputDevice *inputDevice : 
qAsConst(mInputDevices))
+                    inputDevice->setPrimarySelectionDevice(nullptr);
+            }
+#endif
             mGlobals.removeAt(i);
             break;
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylandintegration.cpp 
new/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandintegration.cpp
--- 
old/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylandintegration.cpp    
    2022-10-28 12:26:51.000000000 +0200
+++ 
new/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandintegration.cpp    
    2023-01-05 07:51:24.000000000 +0100
@@ -125,6 +125,9 @@
 #endif
 
     reconfigureInputContext();
+
+    QWaylandWindow::fixedToplevelPositions =
+            !qEnvironmentVariableIsSet("QT_WAYLAND_DISABLE_FIXED_POSITIONS");
 }
 
 QWaylandIntegration::~QWaylandIntegration()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylandprimaryselectionv1.cpp
 
new/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandprimaryselectionv1.cpp
--- 
old/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylandprimaryselectionv1.cpp
 2022-10-28 12:26:51.000000000 +0200
+++ 
new/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandprimaryselectionv1.cpp
 2023-01-05 07:51:24.000000000 +0100
@@ -54,11 +54,6 @@
     : zwp_primary_selection_device_manager_v1(display->wl_registry(), id, 
qMin(version, uint(1)))
     , m_display(display)
 {
-    // Create devices for all seats.
-    // This only works if we get the global before all devices
-    const auto seats = m_display->inputDevices();
-    for (auto *seat : seats)
-        seat->setPrimarySelectionDevice(createDevice(seat));
 }
 
 QWaylandPrimarySelectionDeviceV1 
*QWaylandPrimarySelectionDeviceManagerV1::createDevice(QWaylandInputDevice 
*seat)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylandscreen.cpp 
new/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandscreen.cpp
--- old/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylandscreen.cpp     
2022-10-28 12:26:51.000000000 +0200
+++ new/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandscreen.cpp     
2023-01-05 07:51:24.000000000 +0100
@@ -60,7 +60,7 @@
 }
 
 QWaylandScreen::QWaylandScreen(QWaylandDisplay *waylandDisplay, int version, 
uint32_t id)
-    : QtWayland::wl_output(waylandDisplay->wl_registry(), id, qMin(version, 2))
+    : QtWayland::wl_output(waylandDisplay->wl_registry(), id, qMin(version, 3))
     , m_outputId(id)
     , mWaylandDisplay(waylandDisplay)
     , mOutputName(QStringLiteral("Screen%1").arg(id))
@@ -81,6 +81,8 @@
 {
     if (zxdg_output_v1::isInitialized())
         zxdg_output_v1::destroy();
+    if (wl_output::isInitialized() && 
wl_output_get_version(wl_output::object()) >= WL_OUTPUT_RELEASE_SINCE_VERSION)
+        wl_output::release();
 }
 
 uint QWaylandScreen::requiredEvents() const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylandshmbackingstore.cpp
 
new/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandshmbackingstore.cpp
--- 
old/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylandshmbackingstore.cpp
    2022-10-28 12:26:51.000000000 +0200
+++ 
new/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandshmbackingstore.cpp
    2023-01-05 07:51:24.000000000 +0100
@@ -52,6 +52,7 @@
 
 #include <QtWaylandClient/private/wayland-wayland-client-protocol.h>
 
+#include <fcntl.h>
 #include <unistd.h>
 #include <sys/mman.h>
 
@@ -61,6 +62,9 @@
 #  ifndef MFD_CLOEXEC
 #    define MFD_CLOEXEC     0x0001U
 #  endif
+#  ifndef MFD_ALLOW_SEALING
+#    define MFD_ALLOW_SEALING 0x0002U
+#  endif
 #endif
 
 QT_BEGIN_NAMESPACE
@@ -74,8 +78,10 @@
     int alloc = stride * size.height();
     int fd = -1;
 
-#ifdef SYS_memfd_create
-    fd = syscall(SYS_memfd_create, "wayland-shm", MFD_CLOEXEC);
+#if defined(SYS_memfd_create) && defined(F_SEAL_SEAL)
+    fd = syscall(SYS_memfd_create, "wayland-shm", MFD_CLOEXEC | 
MFD_ALLOW_SEALING);
+    if (fd >= 0)
+        fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_SEAL);
 #endif
 
     QScopedPointer<QFile> filePointer;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylandwindow.cpp 
new/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandwindow.cpp
--- old/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylandwindow.cpp     
2022-10-28 12:26:51.000000000 +0200
+++ new/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandwindow.cpp     
2023-01-05 07:51:24.000000000 +0100
@@ -252,13 +252,16 @@
         mSurface.reset();
     }
 
-    if (mFrameCallback) {
-        wl_callback_destroy(mFrameCallback);
-        mFrameCallback = nullptr;
-    }
+    {
+        QMutexLocker lock(&mFrameSyncMutex);
+        if (mFrameCallback) {
+            wl_callback_destroy(mFrameCallback);
+            mFrameCallback = nullptr;
+        }
 
-    mFrameCallbackElapsedTimer.invalidate();
-    mWaitingForFrameCallback = false;
+        mFrameCallbackElapsedTimer.invalidate();
+        mWaitingForFrameCallback = false;
+    }
     mFrameCallbackTimedOut = false;
 
     mMask = QRegion();
@@ -350,8 +353,13 @@
     }
 }
 
-void QWaylandWindow::setGeometry(const QRect &rect)
+void QWaylandWindow::setGeometry(const QRect &r)
 {
+    auto rect = r;
+    if (fixedToplevelPositions && !QPlatformWindow::parent() && 
window()->type() != Qt::Popup
+        && window()->type() != Qt::ToolTip) {
+        rect.moveTo(screen()->geometry().topLeft());
+    }
     setGeometry_helper(rect);
 
     if (window()->isVisible() && rect.isValid()) {
@@ -628,18 +636,21 @@
     [](void *data, wl_callback *callback, uint32_t time) {
         Q_UNUSED(time);
         auto *window = static_cast<QWaylandWindow*>(data);
-
-        Q_ASSERT(callback == window->mFrameCallback);
-        wl_callback_destroy(callback);
-        window->mFrameCallback = nullptr;
-
-        window->handleFrameCallback();
+        window->handleFrameCallback(callback);
     }
 };
 
-void QWaylandWindow::handleFrameCallback()
+void QWaylandWindow::handleFrameCallback(wl_callback* callback)
 {
     QMutexLocker locker(&mFrameSyncMutex);
+    if (!mFrameCallback) {
+        // This means the callback is already unset by QWaylandWindow::reset.
+        // The wl_callback object will be destroyed there too.
+        return;
+    }
+    Q_ASSERT(callback == mFrameCallback);
+    wl_callback_destroy(callback);
+    mFrameCallback = nullptr;
 
     mWaitingForFrameCallback = false;
     mFrameCallbackElapsedTimer.invalidate();
@@ -1033,6 +1044,13 @@
 
     QWindowSystemInterface::handleWindowScreenChanged(window(), 
newScreen->QPlatformScreen::screen());
     mLastReportedScreen = newScreen;
+    if (fixedToplevelPositions && !QPlatformWindow::parent() && 
window()->type() != Qt::Popup
+        && window()->type() != Qt::ToolTip
+        && geometry().topLeft() != newScreen->geometry().topLeft()) {
+        auto geometry = this->geometry();
+        geometry.moveTo(newScreen->geometry().topLeft());
+        setGeometry(geometry);
+    }
 
     int scale = newScreen->isPlaceholder() ? 1 : static_cast<QWaylandScreen 
*>(newScreen)->scale();
     if (scale != mScale) {
@@ -1157,19 +1175,24 @@
     if (event->timerId() != mFrameCallbackCheckIntervalTimerId)
         return;
 
-    bool callbackTimerExpired = 
mFrameCallbackElapsedTimer.hasExpired(mFrameCallbackTimeout);
-    if (!mFrameCallbackElapsedTimer.isValid() || callbackTimerExpired ) {
-        killTimer(mFrameCallbackCheckIntervalTimerId);
-        mFrameCallbackCheckIntervalTimerId = -1;
-    }
-    if (mFrameCallbackElapsedTimer.isValid() && callbackTimerExpired) {
-        mFrameCallbackElapsedTimer.invalidate();
+    {
+        QMutexLocker lock(&mFrameSyncMutex);
 
-        qCDebug(lcWaylandBackingstore) << "Didn't receive frame callback in 
time, window should now be inexposed";
-        mFrameCallbackTimedOut = true;
-        mWaitingForUpdate = false;
-        sendExposeEvent(QRect());
+        bool callbackTimerExpired = 
mFrameCallbackElapsedTimer.hasExpired(mFrameCallbackTimeout);
+        if (!mFrameCallbackElapsedTimer.isValid() || callbackTimerExpired ) {
+            killTimer(mFrameCallbackCheckIntervalTimerId);
+            mFrameCallbackCheckIntervalTimerId = -1;
+        }
+        if (!mFrameCallbackElapsedTimer.isValid() || !callbackTimerExpired) {
+            return;
+        }
+        mFrameCallbackElapsedTimer.invalidate();
     }
+
+    qCDebug(lcWaylandBackingstore) << "Didn't receive frame callback in time, 
window should now be inexposed";
+    mFrameCallbackTimedOut = true;
+    mWaitingForUpdate = false;
+    sendExposeEvent(QRect());
 }
 
 void QWaylandWindow::requestUpdate()
@@ -1212,15 +1235,14 @@
 {
     qCDebug(lcWaylandBackingstore) << "handleUpdate" << 
QThread::currentThread();
 
-    if (mWaitingForFrameCallback)
-        return;
-
     // TODO: Should sync subsurfaces avoid requesting frame callbacks?
     QReadLocker lock(&mSurfaceLock);
     if (!mSurface)
         return;
 
     QMutexLocker locker(&mFrameSyncMutex);
+    if (mWaitingForFrameCallback)
+        return;
 
     struct ::wl_surface *wrappedSurface = reinterpret_cast<struct ::wl_surface 
*>(wl_proxy_create_wrapper(mSurface->object()));
     wl_proxy_set_queue(reinterpret_cast<wl_proxy *>(wrappedSurface), 
mDisplay->frameEventQueue());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylandwindow_p.h 
new/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandwindow_p.h
--- old/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylandwindow_p.h     
2022-10-28 12:26:51.000000000 +0200
+++ new/qtwayland-everywhere-src-5.15.8+kde57/src/client/qwaylandwindow_p.h     
2023-01-05 07:51:24.000000000 +0100
@@ -98,6 +98,9 @@
     QWaylandWindow(QWindow *window, QWaylandDisplay *display);
     ~QWaylandWindow() override;
 
+    // Keep Toplevels position on the top left corner of their screen
+    static inline bool fixedToplevelPositions = true;
+
     virtual WindowType windowType() const = 0;
     virtual void ensureSize();
     WId winId() const override;
@@ -234,12 +237,13 @@
     Qt::MouseButtons mMousePressedInContentArea = Qt::NoButton;
 
     WId mWindowId;
-    bool mWaitingForFrameCallback = false;
     bool mFrameCallbackTimedOut = false; // Whether the frame callback has 
timed out
-    QAtomicInt mWaitingForUpdateDelivery = false;
     int mFrameCallbackCheckIntervalTimerId = -1;
-    QElapsedTimer mFrameCallbackElapsedTimer;
-    struct ::wl_callback *mFrameCallback = nullptr;
+    QAtomicInt mWaitingForUpdateDelivery = false;
+
+    bool mWaitingForFrameCallback = false; // Protected by mFrameSyncMutex
+    QElapsedTimer mFrameCallbackElapsedTimer; // Protected by mFrameSyncMutex
+    struct ::wl_callback *mFrameCallback = nullptr; // Protected by 
mFrameSyncMutex
     QMutex mFrameSyncMutex;
     QWaitCondition mFrameSyncWait;
 
@@ -294,7 +298,7 @@
     QRect mLastExposeGeometry;
 
     static const wl_callback_listener callbackListener;
-    void handleFrameCallback();
+    void handleFrameCallback(struct ::wl_callback* callback);
 
     static QWaylandWindow *mMouseGrab;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.7+kde49/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
 
new/qtwayland-everywhere-src-5.15.8+kde57/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
--- 
old/qtwayland-everywhere-src-5.15.7+kde49/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
       2022-10-28 12:26:51.000000000 +0200
+++ 
new/qtwayland-everywhere-src-5.15.8+kde57/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
       2023-01-05 07:51:24.000000000 +0100
@@ -347,15 +347,16 @@
 
 void QWaylandXdgSurface::applyConfigure()
 {
-    Q_ASSERT(m_pendingConfigureSerial != 0);
+    // It is a redundant ack_configure, so skipped.
+    if (m_pendingConfigureSerial == m_appliedConfigureSerial)
+        return;
 
     if (m_toplevel)
         m_toplevel->applyConfigure();
+    m_appliedConfigureSerial = m_pendingConfigureSerial;
 
     m_configured = true;
-    ack_configure(m_pendingConfigureSerial);
-
-    m_pendingConfigureSerial = 0;
+    ack_configure(m_appliedConfigureSerial);
 }
 
 bool QWaylandXdgSurface::wantsDecorations() const
@@ -383,10 +384,10 @@
         const int minHeight = qMax(0, m_window->windowMinimumSize().height());
         m_toplevel->set_min_size(minWidth, minHeight);
 
-        int maxWidth = qMax(0, m_window->windowMaximumSize().width());
+        int maxWidth = qMax(minWidth, m_window->windowMaximumSize().width());
         if (maxWidth == QWINDOWSIZE_MAX)
             maxWidth = 0;
-        int maxHeight = qMax(0, m_window->windowMaximumSize().height());
+        int maxHeight = qMax(minHeight, 
m_window->windowMaximumSize().height());
         if (maxHeight == QWINDOWSIZE_MAX)
             maxHeight = 0;
         m_toplevel->set_max_size(maxWidth, maxHeight);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.7+kde49/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
 
new/qtwayland-everywhere-src-5.15.8+kde57/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
--- 
old/qtwayland-everywhere-src-5.15.7+kde49/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
       2022-10-28 12:26:51.000000000 +0200
+++ 
new/qtwayland-everywhere-src-5.15.8+kde57/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
       2023-01-05 07:51:24.000000000 +0100
@@ -154,6 +154,7 @@
     bool m_configured = false;
     QRegion m_exposeRegion;
     uint m_pendingConfigureSerial = 0;
+    uint m_appliedConfigureSerial = 0;
 
     friend class QWaylandXdgShell;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.7+kde49/tests/auto/client/seatv4/tst_seatv4.cpp
 
new/qtwayland-everywhere-src-5.15.8+kde57/tests/auto/client/seatv4/tst_seatv4.cpp
--- 
old/qtwayland-everywhere-src-5.15.7+kde49/tests/auto/client/seatv4/tst_seatv4.cpp
   2022-10-28 12:26:51.000000000 +0200
+++ 
new/qtwayland-everywhere-src-5.15.8+kde57/tests/auto/client/seatv4/tst_seatv4.cpp
   2023-01-05 07:51:24.000000000 +0100
@@ -135,19 +135,19 @@
     window.show();
     QCOMPOSITOR_TRY_VERIFY(xdgSurface() && 
xdgSurface()->m_committedConfigureSerial);
 
-    exec([=] { pointer()->sendEnter(xdgSurface()->m_surface, {32, 32}); });
+    exec([&] { pointer()->sendEnter(xdgSurface()->m_surface, {32, 32}); });
     QCOMPOSITOR_TRY_VERIFY(cursorSurface());
 }
 
 void tst_seatv4::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, {32, 32});
     });
     QCOMPOSITOR_TRY_VERIFY(cursorSurface());
@@ -158,7 +158,7 @@
 
 void tst_seatv4::focusDestruction()
 {
-    QSignalSpy setCursorSpy(exec([=] { return pointer(); }), 
&Pointer::setCursor);
+    QSignalSpy setCursorSpy(exec([&] { return pointer(); }), 
&Pointer::setCursor);
     QRasterWindow window;
     window.resize(64, 64);
     window.show();
@@ -166,7 +166,7 @@
     // Setting a cursor now is not allowed since there has been no enter event
     QCOMPARE(setCursorSpy.count(), 0);
 
-    uint enterSerial = exec([=] {
+    uint enterSerial = exec([&] {
         return pointer()->sendEnter(xdgSurface()->m_surface, {32, 32});
     });
     QCOMPOSITOR_TRY_VERIFY(cursorSurface());
@@ -287,8 +287,6 @@
         }
         struct Event // Because I didn't find a convenient way to copy it 
entirely
         {
-            Event() = default;
-
             const QPoint pixelDelta;
             const QPoint angleDelta; // eights of a degree, positive is 
upwards, left
         };
@@ -298,7 +296,7 @@
     WheelWindow window;
     QCOMPOSITOR_TRY_VERIFY(xdgSurface() && 
xdgSurface()->m_committedConfigureSerial);
 
-    exec([=] {
+    exec([&] {
         Surface *surface = xdgSurface()->m_surface;
         pointer()->sendEnter(surface, {32, 32});
         wl_client *client = surface->resource()->client();
@@ -322,7 +320,7 @@
     window.show();
     QCOMPOSITOR_TRY_VERIFY(xdgSurface() && 
xdgSurface()->m_committedConfigureSerial);
 
-    exec([=] {
+    exec([&] {
         auto *p = pointer();
         auto *c = client();
         // Purposefully send events without a wl_pointer.enter
@@ -355,7 +353,7 @@
 {
     auto *waylandIntegration = 
static_cast<QtWaylandClient::QWaylandIntegration 
*>(QGuiApplicationPrivate::platformIntegration());
     wl_shm *shm = waylandIntegration->display()->shm()->object();
-    return std::all_of(sizes.begin(), sizes.end(), [=](uint size) {
+    return std::all_of(sizes.begin(), sizes.end(), [&](uint size) {
         return supportsCursorSize(size, shm);
     });
 }
@@ -384,15 +382,15 @@
     window.show();
     QCOMPOSITOR_TRY_VERIFY(xdgSurface() && 
xdgSurface()->m_committedConfigureSerial);
 
-    exec([=] { pointer()->sendEnter(xdgSurface()->m_surface, {32, 32}); });
+    exec([&] { pointer()->sendEnter(xdgSurface()->m_surface, {32, 32}); });
     QCOMPOSITOR_TRY_VERIFY(cursorSurface());
     QCOMPOSITOR_TRY_VERIFY(cursorSurface()->m_committed.buffer);
     QCOMPOSITOR_TRY_COMPARE(cursorSurface()->m_committed.bufferScale, 1);
-    QSize unscaledPixelSize = exec([=] {
+    QSize unscaledPixelSize = exec([&] {
         return cursorSurface()->m_committed.buffer->size();
     });
 
-    exec([=] {
+    exec([&] {
         auto *surface = cursorSurface();
         surface->sendEnter(getAll<Output>()[1]);
         surface->sendLeave(getAll<Output>()[0]);
@@ -412,7 +410,7 @@
 
     const int screens = 4; // with scales 1, 2, 4, 8
 
-    exec([=] {
+    exec([&] {
         for (int i = 1; i < screens; ++i) {
             OutputData d;
             d.scale = int(qPow(2, i));
@@ -425,11 +423,11 @@
     window.resize(64, 64);
     window.show();
     QCOMPOSITOR_TRY_VERIFY(xdgSurface() && 
xdgSurface()->m_committedConfigureSerial);
-    exec([=] { pointer()->sendEnter(xdgSurface()->m_surface, {32, 32}); });
+    exec([&] { pointer()->sendEnter(xdgSurface()->m_surface, {32, 32}); });
     QCOMPOSITOR_TRY_VERIFY(cursorSurface());
     QCOMPOSITOR_TRY_VERIFY(cursorSurface()->m_committed.buffer);
     QCOMPOSITOR_TRY_COMPARE(cursorSurface()->m_committed.bufferScale, 1);
-    QSize unscaledPixelSize = exec([=] {
+    QSize unscaledPixelSize = exec([&] {
         return cursorSurface()->m_committed.buffer->size();
     });
 
@@ -437,7 +435,7 @@
     QCOMPARE(unscaledPixelSize.height(), int(defaultSize));
 
     for (int i = 1; i < screens; ++i) {
-        exec([=] {
+        exec([&] {
             auto *surface = cursorSurface();
             surface->sendEnter(getAll<Output>()[i]);
             surface->sendLeave(getAll<Output>()[i-1]);
@@ -475,14 +473,14 @@
     window.show();
     QCOMPOSITOR_TRY_VERIFY(xdgSurface() && 
xdgSurface()->m_committedConfigureSerial);
 
-    exec([=] { pointer()->sendEnter(xdgSurface()->m_surface, {32, 32}); });
+    exec([&] { pointer()->sendEnter(xdgSurface()->m_surface, {32, 32}); });
     QCOMPOSITOR_TRY_VERIFY(cursorSurface());
     QCOMPOSITOR_TRY_VERIFY(cursorSurface()->m_committed.buffer);
     QCOMPOSITOR_COMPARE(cursorSurface()->m_committed.buffer->size(), QSize(24, 
24));
     QCOMPOSITOR_COMPARE(cursorSurface()->m_committed.bufferScale, 1);
     QCOMPOSITOR_COMPARE(pointer()->m_hotspot, QPoint(12, 12));
 
-    exec([=] {
+    exec([&] {
         auto *surface = cursorSurface();
         surface->sendEnter(getAll<Output>()[1]);
         surface->sendLeave(getAll<Output>()[0]);
@@ -521,14 +519,14 @@
     window.show();
     QCOMPOSITOR_TRY_VERIFY(xdgSurface() && 
xdgSurface()->m_committedConfigureSerial);
 
-    exec([=] { pointer()->sendEnter(xdgSurface()->m_surface, {32, 32}); });
+    exec([&] { pointer()->sendEnter(xdgSurface()->m_surface, {32, 32}); });
     QCOMPOSITOR_TRY_VERIFY(cursorSurface());
     QCOMPOSITOR_TRY_VERIFY(cursorSurface()->m_committed.buffer);
     QCOMPOSITOR_COMPARE(cursorSurface()->m_committed.buffer->size(), QSize(48, 
48));
     QCOMPOSITOR_COMPARE(cursorSurface()->m_committed.bufferScale, 2);
     QCOMPOSITOR_COMPARE(pointer()->m_hotspot, QPoint(12, 12));
 
-    exec([=] {
+    exec([&] {
         auto *surface = cursorSurface();
         surface->sendEnter(getAll<Output>()[1]);
         surface->sendLeave(getAll<Output>()[0]);
@@ -558,7 +556,7 @@
     window.show();
     QCOMPOSITOR_TRY_VERIFY(xdgSurface() && 
xdgSurface()->m_committedConfigureSerial);
 
-    exec([=] { pointer()->sendEnter(xdgSurface()->m_surface, {32, 32}); });
+    exec([&] { pointer()->sendEnter(xdgSurface()->m_surface, {32, 32}); });
     QCOMPOSITOR_TRY_VERIFY(cursorSurface());
     QCOMPOSITOR_TRY_VERIFY(cursorSurface()->m_committed.buffer);
     QCOMPOSITOR_COMPARE(cursorSurface()->m_committed.buffer->size(), 
QSize(100, 100));
@@ -576,12 +574,12 @@
     window.show();
     QCOMPOSITOR_TRY_VERIFY(xdgSurface() && 
xdgSurface()->m_committedConfigureSerial);
 
-    exec([=] { pointer()->sendEnter(xdgSurface()->m_surface, {32, 32}); });
+    exec([&] { pointer()->sendEnter(xdgSurface()->m_surface, {32, 32}); });
     QCOMPOSITOR_TRY_VERIFY(cursorSurface());
 
     // We should get the first buffer without waiting for a frame callback
     QCOMPOSITOR_TRY_VERIFY(cursorSurface()->m_committed.buffer);
-    QSignalSpy bufferSpy(exec([=] { return cursorSurface(); }), 
&Surface::bufferCommitted);
+    QSignalSpy bufferSpy(exec([&] { return cursorSurface(); }), 
&Surface::bufferCommitted);
 
     exec([&] {
         // Make sure no extra buffers have arrived

++++++ qtwayland-everywhere-src.obsinfo ++++++
--- /var/tmp/diff_new_pack.Zk82h6/_old  2023-01-11 14:33:50.236818076 +0100
+++ /var/tmp/diff_new_pack.Zk82h6/_new  2023-01-11 14:33:50.240818099 +0100
@@ -1,5 +1,5 @@
 name: qtwayland-everywhere-src
-version: 5.15.7+kde49
-mtime: 1666952811
-commit: 9c607c771acdb3d820be7f112db99213a6c6d7eb
+version: 5.15.8+kde57
+mtime: 1672901484
+commit: f6a1e838e371dc90272c62daeea597fe487dec3e
 

Reply via email to