commit:     fda08f4f2fb7a2bdb484cbd67bebc8aac162f679
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 21 11:27:04 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Mar 21 11:27:04 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fda08f4f

dev-qt/qtwayland: Cleanup duplicate patch file

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../qtwayland-5.15.3-QTBUG-90037-QTBUG-91264.patch | 131 ---------------------
 dev-qt/qtwayland/qtwayland-5.15.3.ebuild           |   2 +-
 2 files changed, 1 insertion(+), 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-blomfe...@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.ag...@qt.io>
-Reviewed-by: David Edmundson <davidedmund...@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=(

Reply via email to