diff --git a/0001-Revert-Bump-version.patch b/0001-Revert-Bump-version.patch deleted file mode 100644 index d754e4b..0000000 --- a/0001-Revert-Bump-version.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 8615532a61e68e46c204d937053150b1906fa584 Mon Sep 17 00:00:00 2001 -From: Fabian Vogt -Date: Mon, 21 Jun 2021 22:18:54 +0200 -Subject: [PATCH] Revert "Bump version" - -This reverts commit 30cb2a87fcc6265232cb5a3ffce9836da6e531d6. ---- - .qmake.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/.qmake.conf b/.qmake.conf -index bb8d0645..f63b6641 100644 ---- a/.qmake.conf -+++ b/.qmake.conf -@@ -4,4 +4,4 @@ DEFINES += QT_NO_FOREACH - DEFINES += QT_NO_JAVA_STYLE_ITERATORS - DEFINES += QT_NO_LINKED_LIST - --MODULE_VERSION = 5.15.3 -+MODULE_VERSION = 5.15.2 --- -2.20.1 - diff --git a/0003-Fix-up-mutexes-for-frame-callbacks.patch b/0003-Fix-up-mutexes-for-frame-callbacks.patch deleted file mode 100644 index a09ba1c..0000000 --- a/0003-Fix-up-mutexes-for-frame-callbacks.patch +++ /dev/null @@ -1,87 +0,0 @@ -From ee0ab1c58f1020e901b665c79684266730f1ce29 Mon Sep 17 00:00:00 2001 -From: David Edmundson -Date: Thu, 3 Feb 2022 14:27:08 +0000 -Subject: [PATCH 3/3] Fix up mutexes for frame callbacks - -Everything related to frame callback timings is used by potentially 3 -threads. Access needs guarding. - -Change-Id: I9f22390c175d9f2f63d31b1ebf0cdc0b830be937 ---- - src/client/qwaylandwindow.cpp | 14 +++++++++----- - src/client/qwaylandwindow_p.h | 10 +++++++--- - 2 files changed, 16 insertions(+), 8 deletions(-) - -diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp -index 61700b32..84dcacc3 100644 ---- a/src/client/qwaylandwindow.cpp -+++ b/src/client/qwaylandwindow.cpp -@@ -256,8 +256,12 @@ void QWaylandWindow::reset() - mFrameCallback = nullptr; - } - -- mFrameCallbackElapsedTimer.invalidate(); -- mWaitingForFrameCallback = false; -+ { -+ QMutexLocker locker(&mFrameSyncMutex); -+ mFrameCallbackElapsedTimer.invalidate(); -+ mWaitingForFrameCallback = false; -+ } -+ - mFrameCallbackTimedOut = false; - - mMask = QRegion(); -@@ -1132,6 +1136,7 @@ QVariant QWaylandWindow::property(const QString &name, const QVariant &defaultVa - - void QWaylandWindow::timerEvent(QTimerEvent *event) - { -+ QMutexLocker locker(&mFrameSyncMutex); - if (event->timerId() != mFrameCallbackCheckIntervalTimerId) - return; - -@@ -1190,15 +1195,14 @@ void QWaylandWindow::handleUpdate() - { - 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(wl_proxy_create_wrapper(mSurface->object())); - wl_proxy_set_queue(reinterpret_cast(wrappedSurface), mDisplay->frameEventQueue()); -diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h -index 3ff68ccb..025d7917 100644 ---- a/src/client/qwaylandwindow_p.h -+++ b/src/client/qwaylandwindow_p.h -@@ -226,13 +226,17 @@ protected: - Qt::MouseButtons mMousePressedInContentArea = Qt::NoButton; - - WId mWindowId; -+ -+ // The following are used by the main thread the render thread and the event frame thread -+ // Access should be guarded by mFrameSyncMutex -+ QMutex mFrameSyncMutex; -+ QWaitCondition mFrameSyncWait; - bool mWaitingForFrameCallback = false; -- bool mFrameCallbackTimedOut = false; // Whether the frame callback has timed out - int mFrameCallbackCheckIntervalTimerId = -1; - QElapsedTimer mFrameCallbackElapsedTimer; -+ -+ bool mFrameCallbackTimedOut = false; // Whether the frame callback has timed out - struct ::wl_callback *mFrameCallback = nullptr; -- QMutex mFrameSyncMutex; -- QWaitCondition mFrameSyncWait; - - // True when we have called deliverRequestUpdate, but the client has not yet attached a new buffer - bool mWaitingForUpdate = false; --- -2.34.0 - diff --git a/_service b/_service index 3af0905..8c917ee 100644 --- a/_service +++ b/_service @@ -1,12 +1,12 @@ enable - 5.15.2+kde@TAG_OFFSET@ + 5.15.5+kde@TAG_OFFSET@ https://invent.kde.org/qt/qt/qtwayland.git git qtwayland-everywhere-src kde/5.15 - v5.15.2 + v5.15.5-lts-lgpl enable diff --git a/libqt5-qtwayland.changes b/libqt5-qtwayland.changes index 5d96e1e..b4c4c93 100644 --- a/libqt5-qtwayland.changes +++ b/libqt5-qtwayland.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Mon Jun 27 13:10:47 UTC 2022 - Fabian Vogt + +- Update to version 5.15.5+kde39, rebased upstream: + * Fix build with libcxx (missing array include) + * Reduce memory leakage + * use poll(2) when reading from clipboard + * Fix race condition on mWaitingForUpdateDelivery + * Revert "Client: Remove mWaitingForUpdateDelivery" + * client: update button state and etc in pointer_leave() + * Docs: Add "instantiates" keywords + * Add missing define guards + * Fix touch being ignored when down and up are in the same frame + * Fix race condition when attaching client to text input + * Revert "Update commercial license headers" + * Update commercial license headers +- Commits dropped by the rebase: + * Fix backport, context destruction was omitted + * Fix compilation +- Drop 0001-Revert-Bump-version.patch, it's versioned correctly now +- Drop patches, no longer directly applicable: + * 0003-Fix-up-mutexes-for-frame-callbacks.patch + ------------------------------------------------------------------- Tue Feb 22 15:32:53 UTC 2022 - Fabian Vogt @@ -798,5 +821,5 @@ Fri Oct 17 09:35:32 UTC 2014 - hrvoje.senjan@gmail.com Mon Sep 8 20:15:30 UTC 2014 - hrvoje.senjan@gmail.com - Update to 5.4.0 alpha: - * Part of the official Qt release + * Part of the official Qt release diff --git a/libqt5-qtwayland.spec b/libqt5-qtwayland.spec index 2ec95f1..a60fa65 100644 --- a/libqt5-qtwayland.spec +++ b/libqt5-qtwayland.spec @@ -22,11 +22,11 @@ %define qt5_snapshot 1 %define libname libQt5WaylandCompositor5 %define base_name libqt5 -%define real_version 5.15.2 -%define so_version 5.15.2 +%define real_version 5.15.5 +%define so_version 5.15.5 %define tar_version qtwayland-everywhere-src-%{version} Name: libqt5-qtwayland -Version: 5.15.2+kde54 +Version: 5.15.5+kde39 Release: 0 Summary: Qt 5 Wayland Addon # The wayland compositor files are GPL-3.0-or-later @@ -35,12 +35,8 @@ Group: Development/Libraries/X11 URL: https://www.qt.io Source: %{tar_version}.tar.xz Source1: baselibs.conf -# PATCH-FIX-OPENSUSE -Patch1: 0001-Revert-Bump-version.patch # https://codereview.qt-project.org/c/qt/qtwayland/+/393828/1 Patch3: 0002-Guard-mResizeDirty-by-the-correctMutex.patch -# https://codereview.qt-project.org/c/qt/qtwayland/+/393826/1 -Patch4: 0003-Fix-up-mutexes-for-frame-callbacks.patch BuildRequires: fdupes BuildRequires: libqt5-qtbase-private-headers-devel >= %{real_version} BuildRequires: libqt5-qtdeclarative-private-headers-devel >= %{real_version} diff --git a/qtwayland-everywhere-src-5.15.2+kde54.obscpio b/qtwayland-everywhere-src-5.15.2+kde54.obscpio deleted file mode 100644 index 3405579..0000000 --- a/qtwayland-everywhere-src-5.15.2+kde54.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6a85a954605f8d6677f8011750fb5f8f024e1c7b1de9d1e53d5dab2d769ddaf4 -size 4691980 diff --git a/qtwayland-everywhere-src-5.15.5+kde39.obscpio b/qtwayland-everywhere-src-5.15.5+kde39.obscpio new file mode 100644 index 0000000..da3987a --- /dev/null +++ b/qtwayland-everywhere-src-5.15.5+kde39.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25a1c1fa101e85950c9d8080aebf99cec45670adf0d9d88e8f73e8c09a92484c +size 4693516 diff --git a/qtwayland-everywhere-src.obsinfo b/qtwayland-everywhere-src.obsinfo index 69b7552..dd1fac7 100644 --- a/qtwayland-everywhere-src.obsinfo +++ b/qtwayland-everywhere-src.obsinfo @@ -1,4 +1,4 @@ name: qtwayland-everywhere-src -version: 5.15.2+kde54 -mtime: 1645543848 -commit: 8f0c9169310344c8f179311bae446239cdb61f68 +version: 5.15.5+kde39 +mtime: 1655756241 +commit: 64fa557eb30fc1219bec50a45107ea1a983411ed