summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2022-03-21 12:27:04 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2022-03-21 12:27:04 +0100
commitfda08f4f2fb7a2bdb484cbd67bebc8aac162f679 (patch)
tree7dbab463b48937e9425b3707b46f1c9fa949a247
parentprofiles: Mask Qt 5.15.3 for a week of testing (diff)
downloadgentoo-fda08f4f2fb7a2bdb484cbd67bebc8aac162f679.tar.gz
gentoo-fda08f4f2fb7a2bdb484cbd67bebc8aac162f679.tar.bz2
gentoo-fda08f4f2fb7a2bdb484cbd67bebc8aac162f679.zip
dev-qt/qtwayland: Cleanup duplicate patch file
Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
-rw-r--r--dev-qt/qtwayland/files/qtwayland-5.15.3-QTBUG-90037-QTBUG-91264.patch131
-rw-r--r--dev-qt/qtwayland/qtwayland-5.15.3.ebuild2
2 files changed, 1 insertions, 132 deletions
diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.3-QTBUG-90037-QTBUG-91264.patch b/dev-qt/qtwayland/files/qtwayland-5.15.3-QTBUG-90037-QTBUG-91264.patch
deleted file mode 100644
index 8bffa3e08b3e..000000000000
--- a/dev-qt/qtwayland/files/qtwayland-5.15.3-QTBUG-90037-QTBUG-91264.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From d7b34dbf072236cdfb3b64e5ad26d1ff29dfec5f Mon Sep 17 00:00:00 2001
-From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
-Date: Thu, 22 Apr 2021 08:42:33 +0200
-Subject: client: Gracefully handle shutdown and window hiding
-
-When a window is hidden or destroyed, the render thread may already
-be rendering. We need to properly read-lock the surface pointer
-when it is in use and exit when it becomes null.
-
-Note that there is also a potential crash in the Mesa GL driver
-where it keeps a proxy to the wl_surface, so if we delete this
-while we are still rendering, it can crash inside the driver.
-This is not addressed by this patch, and has not been reproduced
-on any other drivers so far.
-
-[ChangeLog][Client] Fixed a crash that could happen when hiding
-or closing windows while Qt Quick was actively rendering on
-a different thread.
-
-Pick-to: 6.0 6.1 5.15
-Fixes: QTBUG-91264
-Fixes: QTBUG-90037
-Task-number: QTBUG-92249
-Change-Id: I029b123b83c58740321e8b90a463ced748d8bcf4
-Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
-Reviewed-by: David Edmundson <davidedmundson@kde.org>
-(cherry picked from commit b19b0fbaf775e8b8eda1e03c265a5393d618c6c0)
----
- src/client/qwaylandwindow.cpp | 17 ++++++++++++++++-
- src/client/qwaylandwindow_p.h | 2 +-
- .../client/wayland-egl/qwaylandglcontext.cpp | 1 -
- 3 files changed, 17 insertions(+), 3 deletions(-)
-
-diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
-index 494911b3..0d849b57 100644
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -414,6 +414,7 @@ void QWaylandWindow::closePopups(QWaylandWindow *parent)
-
- QPlatformScreen *QWaylandWindow::calculateScreenFromSurfaceEvents() const
- {
-+ QReadLocker lock(&mSurfaceLock);
- if (mSurface) {
- if (auto *screen = mSurface->oldestEnteredScreen())
- return screen;
-@@ -552,6 +553,10 @@ void QWaylandWindow::sendRecursiveExposeEvent()
-
- void QWaylandWindow::attach(QWaylandBuffer *buffer, int x, int y)
- {
-+ QReadLocker locker(&mSurfaceLock);
-+ if (mSurface == nullptr)
-+ return;
-+
- if (buffer) {
- Q_ASSERT(!buffer->committed());
- handleUpdate();
-@@ -571,6 +576,10 @@ void QWaylandWindow::attachOffset(QWaylandBuffer *buffer)
-
- void QWaylandWindow::damage(const QRect &rect)
- {
-+ QReadLocker locker(&mSurfaceLock);
-+ if (mSurface == nullptr)
-+ return;
-+
- const int s = scale();
- if (mDisplay->compositorVersion() >= 4)
- mSurface->damage_buffer(s * rect.x(), s * rect.y(), s * rect.width(), s * rect.height());
-@@ -605,6 +614,8 @@ void QWaylandWindow::commit(QWaylandBuffer *buffer, const QRegion &damage)
- qCDebug(lcWaylandBackingstore) << "Buffer already committed, ignoring.";
- return;
- }
-+
-+ QReadLocker locker(&mSurfaceLock);
- if (!mSurface)
- return;
-
-@@ -624,7 +635,9 @@ void QWaylandWindow::commit(QWaylandBuffer *buffer, const QRegion &damage)
-
- void QWaylandWindow::commit()
- {
-- mSurface->commit();
-+ QReadLocker locker(&mSurfaceLock);
-+ if (mSurface != nullptr)
-+ mSurface->commit();
- }
-
- const wl_callback_listener QWaylandWindow::callbackListener = {
-@@ -725,6 +738,7 @@ QPointF QWaylandWindow::mapFromWlSurface(const QPointF &surfacePosition) const
-
- wl_surface *QWaylandWindow::wlSurface()
- {
-+ QReadLocker locker(&mSurfaceLock);
- return mSurface ? mSurface->object() : nullptr;
- }
-
-@@ -749,6 +763,7 @@ QWaylandScreen *QWaylandWindow::waylandScreen() const
-
- void QWaylandWindow::handleContentOrientationChange(Qt::ScreenOrientation orientation)
- {
-+ QReadLocker locker(&mSurfaceLock);
- if (mDisplay->compositorVersion() < 2)
- return;
-
-diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h
-index d45980a8..54ac67a9 100644
---- a/src/client/qwaylandwindow_p.h
-+++ b/src/client/qwaylandwindow_p.h
-@@ -288,7 +288,7 @@ private:
-
- static QWaylandWindow *mMouseGrab;
-
-- QReadWriteLock mSurfaceLock;
-+ mutable QReadWriteLock mSurfaceLock;
-
- friend class QWaylandSubSurface;
- };
-diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
-index 683fe123..8f12736d 100644
---- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
-+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
-@@ -192,7 +192,6 @@ public:
- }
- void blit(QWaylandEglWindow *window)
- {
-- Q_ASSERT(window->wlSurface());
- QOpenGLTextureCache *cache = QOpenGLTextureCache::cacheForContext(m_context->context());
-
- QSize surfaceSize = window->surfaceSize();
---
-2.35.0
-
diff --git a/dev-qt/qtwayland/qtwayland-5.15.3.ebuild b/dev-qt/qtwayland/qtwayland-5.15.3.ebuild
index bf1a290f2e8f..148e79fc7b31 100644
--- a/dev-qt/qtwayland/qtwayland-5.15.3.ebuild
+++ b/dev-qt/qtwayland/qtwayland-5.15.3.ebuild
@@ -33,7 +33,7 @@ BDEPEND="
dev-util/wayland-scanner
"
-PATCHES=( "${FILESDIR}/${P}-QTBUG-90037-QTBUG-91264.patch" ) # upstream pending
+PATCHES=( "${FILESDIR}/${PN}-5.15.2-QTBUG-90037-QTBUG-91264.patch" ) # upstream pending
src_configure() {
local myqmakeargs=(