aboutsummaryrefslogtreecommitdiffstats
path: root/community/qt5-qtwayland
diff options
context:
space:
mode:
authorBart Ribbers <bribbers@disroot.org>2020-02-20 16:12:31 +0100
committerLeo <thinkabit.ukim@gmail.com>2020-02-24 19:18:43 -0300
commit65f58742e6e669c7d0f5b23c0764f4f73661980b (patch)
tree76a9004e9c481ced23debc121c304bdc24273ae4 /community/qt5-qtwayland
parent76ca77d9ba8ee59f1a761b7d44252958584347bc (diff)
downloadaports-65f58742e6e669c7d0f5b23c0764f4f73661980b.tar.bz2
aports-65f58742e6e669c7d0f5b23c0764f4f73661980b.tar.xz
{community,testing}/qt: upgrade to 5.14.1
Diffstat (limited to 'community/qt5-qtwayland')
-rw-r--r--community/qt5-qtwayland/03e8c91fc28b77c4f027b6c6d582b85878efae41.patch135
-rw-r--r--community/qt5-qtwayland/APKBUILD13
2 files changed, 5 insertions, 143 deletions
diff --git a/community/qt5-qtwayland/03e8c91fc28b77c4f027b6c6d582b85878efae41.patch b/community/qt5-qtwayland/03e8c91fc28b77c4f027b6c6d582b85878efae41.patch
deleted file mode 100644
index 7bcd572024..0000000000
--- a/community/qt5-qtwayland/03e8c91fc28b77c4f027b6c6d582b85878efae41.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 03e8c91fc28b77c4f027b6c6d582b85878efae41 Mon Sep 17 00:00:00 2001
-From: Johan Klokkhammer Helsing <johan.helsing@qt.io>
-Date: Tue, 15 Oct 2019 09:51:43 +0200
-Subject: [PATCH] Client: Fix 100ms freeze when applications do not swap after
- deliverUpdateRequest
-
-[ChangeLog][QPA plugin] Fixed a 100 ms freeze that would occur if applications
-did not draw after receiving a deliverUpdateRequest().
-
-QtQuick does this at the start of animations. This should get rid of those
-backingstore warnings (and also remove a 100ms freeze before animations start
-in those instances).
-
-Fixes: QTBUG-76813
-Change-Id: Id366bf4a14f402fa44530ae46e7b66d9988c14f6
-Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
-Reviewed-by: John Brooks <john.brooks@qt.io>
-(cherry picked from commit 9f5b96225885f927727a57b6123d8550d6c373bb)
----
- src/client/qwaylandwindow.cpp | 46 +++++++++----------------------------------
- src/client/qwaylandwindow_p.h | 1 -
- 2 files changed, 9 insertions(+), 38 deletions(-)
-
-diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
-index 3cd7892a7..109110aef 100644
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -1097,25 +1097,6 @@ QVariant QWaylandWindow::property(const QString &name, const QVariant &defaultVa
-
- void QWaylandWindow::timerEvent(QTimerEvent *event)
- {
-- if (event->timerId() == mFallbackUpdateTimerId) {
-- killTimer(mFallbackUpdateTimerId);
-- mFallbackUpdateTimerId = -1;
-- qCDebug(lcWaylandBackingstore) << "mFallbackUpdateTimer timed out";
--
-- if (!isExposed()) {
-- qCDebug(lcWaylandBackingstore) << "Fallback update timer: Window not exposed,"
-- << "not delivering update request.";
-- return;
-- }
--
-- if (mWaitingForUpdate && hasPendingUpdateRequest() && !mWaitingForFrameCallback) {
-- qCWarning(lcWaylandBackingstore) << "Delivering update request through fallback timer,"
-- << "may not be in sync with display";
-- deliverUpdateRequest();
-- }
-- }
--
--
- if (mFrameCallbackTimerId.testAndSetOrdered(event->timerId(), -1)) {
- killTimer(event->timerId());
- qCDebug(lcWaylandBackingstore) << "Didn't receive frame callback in time, window should now be inexposed";
-@@ -1127,6 +1108,7 @@ void QWaylandWindow::timerEvent(QTimerEvent *event)
-
- void QWaylandWindow::requestUpdate()
- {
-+ qCDebug(lcWaylandBackingstore) << "requestUpdate";
- Q_ASSERT(hasPendingUpdateRequest()); // should be set by QPA
-
- // If we have a frame callback all is good and will be taken care of there
-@@ -1134,20 +1116,17 @@ void QWaylandWindow::requestUpdate()
- return;
-
- // If we've already called deliverUpdateRequest(), but haven't seen any attach+commit/swap yet
-- if (mWaitingForUpdate) {
-- // Ideally, we should just have returned here, but we're not guaranteed that the client
-- // will actually update, so start this timer to deliver another request update after a while
-- // *IF* the client doesn't update.
-- int fallbackTimeout = 100;
-- mFallbackUpdateTimerId = startTimer(fallbackTimeout);
-- return;
-- }
-+ // This is a somewhat redundant behavior and might indicate a bug in the calling code, so log
-+ // here so we can get this information when debugging update/frame callback issues.
-+ // Continue as nothing happened, though.
-+ if (mWaitingForUpdate)
-+ qCDebug(lcWaylandBackingstore) << "requestUpdate called twice without committing anything";
-
- // Some applications (such as Qt Quick) depend on updates being delivered asynchronously,
- // so use invokeMethod to delay the delivery a bit.
- QMetaObject::invokeMethod(this, [this] {
- // Things might have changed in the meantime
-- if (hasPendingUpdateRequest() && !mWaitingForUpdate && !mWaitingForFrameCallback)
-+ if (hasPendingUpdateRequest() && !mWaitingForFrameCallback)
- deliverUpdateRequest();
- }, Qt::QueuedConnection);
- }
-@@ -1157,6 +1136,7 @@ void QWaylandWindow::requestUpdate()
- // Can be called from the render thread (without locking anything) so make sure to not make races in this method.
- void QWaylandWindow::handleUpdate()
- {
-+ qCDebug(lcWaylandBackingstore) << "handleUpdate" << QThread::currentThread();
- // TODO: Should sync subsurfaces avoid requesting frame callbacks?
- QReadLocker lock(&mSurfaceLock);
- if (!isInitialized())
-@@ -1167,15 +1147,6 @@ void QWaylandWindow::handleUpdate()
- mFrameCallback = nullptr;
- }
-
-- if (mFallbackUpdateTimerId != -1) {
-- // Ideally, we would stop the fallback timer here, but since we're on another thread,
-- // it's not allowed. Instead we set mFallbackUpdateTimer to -1 here, so we'll just
-- // ignore it if it times out before it's cleaned up by the invokeMethod call.
-- int id = mFallbackUpdateTimerId;
-- mFallbackUpdateTimerId = -1;
-- QMetaObject::invokeMethod(this, [this, id] { killTimer(id); }, Qt::QueuedConnection);
-- }
--
- mFrameCallback = frame();
- wl_callback_add_listener(mFrameCallback, &QWaylandWindow::callbackListener, this);
- mWaitingForFrameCallback = true;
-@@ -1195,6 +1166,7 @@ void QWaylandWindow::handleUpdate()
-
- void QWaylandWindow::deliverUpdateRequest()
- {
-+ qCDebug(lcWaylandBackingstore) << "deliverUpdateRequest";
- mWaitingForUpdate = true;
- QPlatformWindow::deliverUpdateRequest();
- }
-diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h
-index 717709938..0369bd0c2 100644
---- a/src/client/qwaylandwindow_p.h
-+++ b/src/client/qwaylandwindow_p.h
-@@ -229,7 +229,6 @@ protected:
-
- // True when we have called deliverRequestUpdate, but the client has not yet attached a new buffer
- bool mWaitingForUpdate = false;
-- int mFallbackUpdateTimerId = -1; // Started when waiting for app to commit
-
- QMutex mResizeLock;
- bool mWaitingToApplyConfigure = false;
---
-2.16.3
-
diff --git a/community/qt5-qtwayland/APKBUILD b/community/qt5-qtwayland/APKBUILD
index 271e243e3c..1f4da4bee4 100644
--- a/community/qt5-qtwayland/APKBUILD
+++ b/community/qt5-qtwayland/APKBUILD
@@ -1,9 +1,8 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=qt5-qtwayland
-_pkgname="${pkgname/qt5-/}-everywhere-src"
-pkgver=5.12.5
-pkgrel=3
+pkgver=5.14.1
+pkgrel=0
arch="all !armhf" # armhf blocked by qt5-qtdeclarative
url="https://www.qt.io/developers/"
license="LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0"
@@ -11,15 +10,14 @@ pkgdesc='Provides APIs for Wayland'
makedepends="$depends_dev libxkbcommon-dev libxcomposite-dev
qt5-qtquickcontrols2-dev qt5-qtdeclarative-dev qt5-qtbase-dev wayland-dev"
subpackages="$pkgname-dev $pkgname-doc"
-builddir="$srcdir/$_pkgname-$pkgver"
+builddir="$srcdir/qtwayland-everywhere-src-$pkgver"
case $pkgver in
*_beta*|*_rc*) _rel=development_releases;;
*) _rel=official_releases;;
esac
-source="http://download.qt.io/$_rel/qt/${pkgver%.*}/$pkgver/submodules/qtwayland-everywhere-src-$pkgver.tar.xz
- 03e8c91fc28b77c4f027b6c6d582b85878efae41.patch"
+source="http://download.qt.io/$_rel/qt/${pkgver%.*}/$pkgver/submodules/qtwayland-everywhere-src-$pkgver.tar.xz"
build() {
qmake-qt5
@@ -40,5 +38,4 @@ package() {
install -d "$pkgdir"/usr/share/licenses
ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/$pkgname
}
-sha512sums="19e19b3d6226839856f8e8792665eda1f09f0bbf95a38077bdf2831205ee09254c8df6a521ba3f5a228bcd98c4d1929a2bd9e9aa2f6f14c218d4d7458d1a866c qtwayland-everywhere-src-5.12.5.tar.xz
-f570e9b11611ec43289afc83230b094f974c7d48be5b79e00b3815b5fb92ec845c768fa2911ccfbeec29dda338d0b3fab8cc9702536c816c78d98820d38466c9 03e8c91fc28b77c4f027b6c6d582b85878efae41.patch"
+sha512sums="6cdfb527ce8160b562343bfb3959dfcd8ccc91a50817756547f4a0559b77372bee7587bc2e4e658e15b58ecb52c6eb0ef2193e30a285d13c4192bb03a1149cfc qtwayland-everywhere-src-5.14.1.tar.xz"