Qt 5.15.5 with patch collection + qtscript 5.15.10

OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.15/libqt5-qtwayland?expand=0&rev=22
This commit is contained in:
Christophe Giboudeaux 2022-06-28 08:21:52 +00:00 committed by Git OBS Bridge
parent 90b5b201c1
commit 7c74bffc6e
8 changed files with 35 additions and 126 deletions

View File

@ -1,23 +0,0 @@
From 8615532a61e68e46c204d937053150b1906fa584 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt@suse.de>
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

View File

@ -1,87 +0,0 @@
From ee0ab1c58f1020e901b665c79684266730f1ce29 Mon Sep 17 00:00:00 2001
From: David Edmundson <davidedmundson@kde.org>
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<struct ::wl_surface *>(wl_proxy_create_wrapper(mSurface->object()));
wl_proxy_set_queue(reinterpret_cast<wl_proxy *>(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

View File

@ -1,12 +1,12 @@
<services>
<service name="obs_scm" mode="disabled">
<param name="changesgenerate">enable</param>
<param name="versionformat">5.15.2+kde@TAG_OFFSET@</param>
<param name="versionformat">5.15.5+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.2</param>
<param name="parent-tag">v5.15.5-lts-lgpl</param>
<param name="changesgenerate">enable</param>
</service>
<service name="set_version" mode="disabled"/>

View File

@ -1,3 +1,26 @@
-------------------------------------------------------------------
Mon Jun 27 13:10:47 UTC 2022 - Fabian Vogt <fabian@ritter-vogt.de>
- 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 <fabian@ritter-vogt.de>
@ -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

View File

@ -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}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6a85a954605f8d6677f8011750fb5f8f024e1c7b1de9d1e53d5dab2d769ddaf4
size 4691980

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:25a1c1fa101e85950c9d8080aebf99cec45670adf0d9d88e8f73e8c09a92484c
size 4693516

View File

@ -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