[neon/qt/qtwayland/Neon/unstable] debian: Drop patches that were included in the new release.

Dmitry Shachnev null at kde.org
Mon Apr 29 17:44:39 BST 2024


Git commit 1244d96a3c0016fa8d66b39da3abdfaf24a87513 by Dmitry Shachnev.
Committed on 24/12/2023 at 14:54.
Pushed by jriddell into branch 'Neon/unstable'.

Drop patches that were included in the new release.

- 0040-Fix-build-with-libcxx-missing-array-include.patch
- 0049-Use-CRLF-line-delimiter-for-text-uri-list-data.patch
- 0051-Avoid-calling-requestUpdate-from-wrong-thread.patch

And two patches that annihilate each other:

- 0055-Client-Ensure-that-wl_surface-lives-as-long-as-qtqui.patch
- 0057-Revert-Client-Ensure-that-wl_surface-lives-as-long-a.patch

M  +7    -0    debian/changelog
D  +0    -27   debian/patches/0040-Fix-build-with-libcxx-missing-array-include.patch
D  +0    -35   debian/patches/0049-Use-CRLF-line-delimiter-for-text-uri-list-data.patch
D  +0    -38   debian/patches/0051-Avoid-calling-requestUpdate-from-wrong-thread.patch
D  +0    -100  debian/patches/0055-Client-Ensure-that-wl_surface-lives-as-long-as-qtqui.patch
D  +0    -94   debian/patches/0057-Revert-Client-Ensure-that-wl_surface-lives-as-long-a.patch
M  +0    -5    debian/patches/series

https://invent.kde.org/neon/qt/qtwayland/-/commit/1244d96a3c0016fa8d66b39da3abdfaf24a87513

diff --git a/debian/changelog b/debian/changelog
index bb32e53..6f41ced 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,13 @@ qtwayland-opensource-src (5.15.12-1) UNRELEASED; urgency=medium
   * New upstream release.
   * Bump Qt build-dependencies to 5.15.12.
   * Bump ABI version to 5-15-12.
+  * Drop patches, included in the new release:
+    - 0040-Fix-build-with-libcxx-missing-array-include.patch
+    - 0049-Use-CRLF-line-delimiter-for-text-uri-list-data.patch
+    - 0051-Avoid-calling-requestUpdate-from-wrong-thread.patch
+  * Drop patches which annihilate each other:
+    - 0055-Client-Ensure-that-wl_surface-lives-as-long-as-qtqui.patch
+    - 0057-Revert-Client-Ensure-that-wl_surface-lives-as-long-a.patch
 
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Sat, 23 Dec 2023 16:11:34 +0300
 
diff --git a/debian/patches/0040-Fix-build-with-libcxx-missing-array-include.patch b/debian/patches/0040-Fix-build-with-libcxx-missing-array-include.patch
deleted file mode 100644
index fd99141..0000000
--- a/debian/patches/0040-Fix-build-with-libcxx-missing-array-include.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 64fa557eb30fc1219bec50a45107ea1a983411ed Mon Sep 17 00:00:00 2001
-From: Sam James <sam at gentoo.org>
-Date: Sat, 18 Jun 2022 17:11:11 +0100
-Subject: [PATCH] Fix build with libcxx (missing array include)
-
-Bug: https://bugs.gentoo.org/833488
-
-Task-number: QTBUG-104435
-Change-Id: I06384761a5560b81b675e6c4ae498bb93dcb4f4f
-Pick-to: 5.15 6.2 6.3 6.4
-Reviewed-by: Marc Mutz <marc.mutz at qt.io>
-(cherry picked from commit 5065013b0c2346b5918a2681ae2e58046140e8a7)
----
- .../compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h           | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h
-+++ b/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h
-@@ -41,6 +41,8 @@
- #include <QtCore/QTextStream>
- #include <QtGui/QOpenGLTexture>
- 
-+#include <array>
-+
- #include <EGL/egl.h>
- #include <EGL/eglext.h>
- 
diff --git a/debian/patches/0049-Use-CRLF-line-delimiter-for-text-uri-list-data.patch b/debian/patches/0049-Use-CRLF-line-delimiter-for-text-uri-list-data.patch
deleted file mode 100644
index 3cf8362..0000000
--- a/debian/patches/0049-Use-CRLF-line-delimiter-for-text-uri-list-data.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From c80442ead26f4532d139c750206e0bed04621b88 Mon Sep 17 00:00:00 2001
-From: Alexandros Frantzis <alexandros.frantzis at collabora.com>
-Date: Wed, 11 May 2022 17:12:52 +0300
-Subject: [PATCH] Use CRLF line delimiter for text/uri-list data
-
-According to RFC 2483, which describes text/uri-list, the line delimiter
-must be CRLF (instead of the currently used LF). Some applications
-strictly expect the CRLF delimiter and fail to properly parse the
-uri-list otherwise (e.g., WineX11/XWayland).
-
-https://datatracker.ietf.org/doc/html/rfc2483
-
-5. The text/uri-list Internet Media Type
-The format of text/uri-list resources is:
-3) As for all text/* formats, lines are terminated with a CRLF pair.
-
-Pick-to: 6.4 6.3 6.2 5.15
-Change-Id: I7c062224a9060028ab6293fdf172692ade28cca5
-Reviewed-by: David Edmundson <davidedmundson at kde.org>
-(cherry picked from commit bd5b0a804b91b9fbd0ce44d5d6765e07d0a50b4f)
----
- src/shared/qwaylandmimehelper.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/src/shared/qwaylandmimehelper.cpp
-+++ b/src/shared/qwaylandmimehelper.cpp
-@@ -74,7 +74,7 @@ QByteArray QWaylandMimeHelper::getByteArray(QMimeData *mimeData, const QString &
-         QList<QUrl> urls = mimeData->urls();
-         for (int i = 0; i < urls.count(); ++i) {
-             content.append(urls.at(i).toEncoded());
--            content.append('\n');
-+            content.append("\r\n");
-         }
-     } else {
-         content = mimeData->data(mimeType);
diff --git a/debian/patches/0051-Avoid-calling-requestUpdate-from-wrong-thread.patch b/debian/patches/0051-Avoid-calling-requestUpdate-from-wrong-thread.patch
deleted file mode 100644
index 669f57c..0000000
--- a/debian/patches/0051-Avoid-calling-requestUpdate-from-wrong-thread.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From e0e030d90e0c1df94ddd9bee3e366c320d323ba1 Mon Sep 17 00:00:00 2001
-From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt at qt.io>
-Date: Mon, 8 Aug 2022 12:14:01 +0200
-Subject: [PATCH] Avoid calling requestUpdate from wrong thread
-
-In certain circumstances, we can get to createDecoration()
-from the render thread (from QWaylandGLContext::makeCurrent)
-
-Calling requestUpdate() from this secondary thread would
-cause an assert, so we queue the call on the appropriate
-thread instead.
-
-This amends af7b60ade5c4be81cbc58eb18307c017d5594071.
-
-Pick-to: 5.15 6.2 6.3 6.3.2 6.4
-Fixes: QTBUG-105308
-Change-Id: I4805265f39e24eb1464897532be2025bc3c27728
-Reviewed-by: Inho Lee <inho.lee at qt.io>
-(cherry picked from commit a0c0b5b42335808c2222cbf72c1758e955731ed9)
----
- src/client/qwaylandwindow.cpp | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -873,7 +873,11 @@ bool QWaylandWindow::createDecoration()
-         // size and are not redrawn, leaving the new buffer empty. As a simple
-         // work-around, we trigger a full extra update whenever the client-side
-         // window decorations are toggled while the window is showing.
--        window()->requestUpdate();
-+        // Note: createDecoration() is sometimes called from the render thread
-+        // of Qt Quick. This is essentially wrong and could potentially cause problems,
-+        // but until the underlying issue has been fixed, we have to use invokeMethod()
-+        // here to avoid asserts.
-+        QMetaObject::invokeMethod(window(), &QWindow::requestUpdate);
-     }
- 
-     return mWindowDecoration;
diff --git a/debian/patches/0055-Client-Ensure-that-wl_surface-lives-as-long-as-qtqui.patch b/debian/patches/0055-Client-Ensure-that-wl_surface-lives-as-long-as-qtqui.patch
deleted file mode 100644
index e4d9cc6..0000000
--- a/debian/patches/0055-Client-Ensure-that-wl_surface-lives-as-long-as-qtqui.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 81a7702a87f386a60a0ac8c902e203daae044d81 Mon Sep 17 00:00:00 2001
-From: Vlad Zahorodnii <vlad.zahorodnii at kde.org>
-Date: Tue, 8 Nov 2022 16:10:18 +0200
-Subject: [PATCH] Client: Ensure that wl_surface lives as long as qtquick
- render thread needs it
-
-wl_surface can be destroyed while qtquick render thread still uses it.
-That can end up in eglSwapBuffers() using defunct wl_surface, which will
-eventually lead to a crash due to the compositor posting an error.
-
-This is partially cherry-pick of dff579147b07cd15888a47c303e36684e9930f9f
-
-Change-Id: I044f40dd64e6672027a833379b57ccd9973d8305
----
- src/client/qwaylandwindow.cpp                       | 13 ++++++++++++-
- src/client/qwaylandwindow_p.h                       |  3 +++
- .../client/wayland-egl/qwaylandglcontext.cpp        |  6 +++++-
- 3 files changed, 20 insertions(+), 2 deletions(-)
-
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -76,6 +76,7 @@ QWaylandWindow *QWaylandWindow::mMouseGrab = nullptr;
- QWaylandWindow::QWaylandWindow(QWindow *window, QWaylandDisplay *display)
-     : QPlatformWindow(window)
-     , mDisplay(display)
-+    , mSurfaceLock(QReadWriteLock::Recursive)
-     , mResizeAfterSwap(qEnvironmentVariableIsSet("QT_WAYLAND_RESIZE_AFTER_SWAP"))
- {
-     {
-@@ -237,6 +238,16 @@ bool QWaylandWindow::shouldCreateSubSurface() const
-     return QPlatformWindow::parent() != nullptr;
- }
- 
-+void QWaylandWindow::beginFrame()
-+{
-+    mSurfaceLock.lockForRead();
-+}
-+
-+void QWaylandWindow::endFrame()
-+{
-+    mSurfaceLock.unlock();
-+}
-+
- void QWaylandWindow::reset()
- {
-     closeChildPopups();
-@@ -245,10 +256,10 @@ void QWaylandWindow::reset()
-     delete mSubSurfaceWindow;
-     mSubSurfaceWindow = nullptr;
- 
--    invalidateSurface();
-     if (mSurface) {
-         emit wlSurfaceDestroyed();
-         QWriteLocker lock(&mSurfaceLock);
-+        invalidateSurface();
-         mSurface.reset();
-     }
- 
---- a/src/client/qwaylandwindow_p.h
-+++ b/src/client/qwaylandwindow_p.h
-@@ -207,6 +207,9 @@ public:
-     void handleUpdate();
-     void deliverUpdateRequest() override;
- 
-+    void beginFrame();
-+    void endFrame();
-+
-     void addChildPopup(QWaylandWindow* child);
-     void removeChildPopup(QWaylandWindow* child);
-     void closeChildPopups();
---- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
-+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
-@@ -432,8 +432,10 @@ bool QWaylandGLContext::makeCurrent(QPlatformSurface *surface)
-         return true;
-     }
- 
--    if (window->isExposed())
-+    if (window->isExposed()) {
-+        window->beginFrame();
-         window->setCanResize(false);
-+    }
-     if (m_decorationsContext != EGL_NO_CONTEXT && !window->decoration())
-         window->createDecoration();
- 
-@@ -449,6 +451,7 @@ bool QWaylandGLContext::makeCurrent(QPlatformSurface *surface)
-     if (!eglMakeCurrent(m_eglDisplay, eglSurface, eglSurface, m_context)) {
-         qWarning("QWaylandGLContext::makeCurrent: eglError: %x, this: %p \n", eglGetError(), this);
-         window->setCanResize(true);
-+        window->endFrame();
-         return false;
-     }
- 
-@@ -502,6 +505,7 @@ void QWaylandGLContext::swapBuffers(QPlatformSurface *surface)
-     eglSwapBuffers(m_eglDisplay, eglSurface);
- 
-     window->setCanResize(true);
-+    window->endFrame();
- }
- 
- GLuint QWaylandGLContext::defaultFramebufferObject(QPlatformSurface *surface) const
diff --git a/debian/patches/0057-Revert-Client-Ensure-that-wl_surface-lives-as-long-a.patch b/debian/patches/0057-Revert-Client-Ensure-that-wl_surface-lives-as-long-a.patch
deleted file mode 100644
index c14f786..0000000
--- a/debian/patches/0057-Revert-Client-Ensure-that-wl_surface-lives-as-long-a.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 4b43f2dc58e71732ebdbe1eaf4392272bc692e6d Mon Sep 17 00:00:00 2001
-From: David Edmundson <kde at davidedmundson.co.uk>
-Date: Mon, 14 Nov 2022 10:43:25 +0000
-Subject: [PATCH] Revert "Client: Ensure that wl_surface lives as long as
- qtquick render thread needs it"
-
-This reverts commit 81a7702a87f386a60a0ac8c902e203daae044d81
----
- src/client/qwaylandwindow.cpp                       | 13 +------------
- src/client/qwaylandwindow_p.h                       |  3 ---
- .../client/wayland-egl/qwaylandglcontext.cpp        |  6 +-----
- 3 files changed, 2 insertions(+), 20 deletions(-)
-
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -76,7 +76,6 @@ QWaylandWindow *QWaylandWindow::mMouseGrab = nullptr;
- QWaylandWindow::QWaylandWindow(QWindow *window, QWaylandDisplay *display)
-     : QPlatformWindow(window)
-     , mDisplay(display)
--    , mSurfaceLock(QReadWriteLock::Recursive)
-     , mResizeAfterSwap(qEnvironmentVariableIsSet("QT_WAYLAND_RESIZE_AFTER_SWAP"))
- {
-     {
-@@ -238,16 +237,6 @@ bool QWaylandWindow::shouldCreateSubSurface() const
-     return QPlatformWindow::parent() != nullptr;
- }
- 
--void QWaylandWindow::beginFrame()
--{
--    mSurfaceLock.lockForRead();
--}
--
--void QWaylandWindow::endFrame()
--{
--    mSurfaceLock.unlock();
--}
--
- void QWaylandWindow::reset()
- {
-     closeChildPopups();
-@@ -256,10 +245,10 @@ void QWaylandWindow::reset()
-     delete mSubSurfaceWindow;
-     mSubSurfaceWindow = nullptr;
- 
-+    invalidateSurface();
-     if (mSurface) {
-         emit wlSurfaceDestroyed();
-         QWriteLocker lock(&mSurfaceLock);
--        invalidateSurface();
-         mSurface.reset();
-     }
- 
---- a/src/client/qwaylandwindow_p.h
-+++ b/src/client/qwaylandwindow_p.h
-@@ -210,9 +210,6 @@ public:
-     void handleUpdate();
-     void deliverUpdateRequest() override;
- 
--    void beginFrame();
--    void endFrame();
--
-     void addChildPopup(QWaylandWindow* child);
-     void removeChildPopup(QWaylandWindow* child);
-     void closeChildPopups();
---- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
-+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
-@@ -432,10 +432,8 @@ bool QWaylandGLContext::makeCurrent(QPlatformSurface *surface)
-         return true;
-     }
- 
--    if (window->isExposed()) {
--        window->beginFrame();
-+    if (window->isExposed())
-         window->setCanResize(false);
--    }
-     if (m_decorationsContext != EGL_NO_CONTEXT && !window->decoration())
-         window->createDecoration();
- 
-@@ -451,7 +449,6 @@ bool QWaylandGLContext::makeCurrent(QPlatformSurface *surface)
-     if (!eglMakeCurrent(m_eglDisplay, eglSurface, eglSurface, m_context)) {
-         qWarning("QWaylandGLContext::makeCurrent: eglError: %x, this: %p \n", eglGetError(), this);
-         window->setCanResize(true);
--        window->endFrame();
-         return false;
-     }
- 
-@@ -505,7 +502,6 @@ void QWaylandGLContext::swapBuffers(QPlatformSurface *surface)
-     eglSwapBuffers(m_eglDisplay, eglSurface);
- 
-     window->setCanResize(true);
--    window->endFrame();
- }
- 
- GLuint QWaylandGLContext::defaultFramebufferObject(QPlatformSurface *surface) const
diff --git a/debian/patches/series b/debian/patches/series
index ae1acef..b5f10a1 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -25,20 +25,15 @@
 0037-Fix-race-condition-on-mWaitingForUpdateDelivery.patch
 0038-use-poll-2-when-reading-from-clipboard.patch
 0039-Reduce-memory-leakage.patch
-0040-Fix-build-with-libcxx-missing-array-include.patch
 0041-Only-close-popup-in-the-the-hierchary.patch
 0043-Check-pointer-for-null-before-use-in-ASSERT.patch
 0044-Use-wl_surface.damage_buffer-on-the-client-side.patch
 0045-Client-clear-focus-on-touch-cancel.patch
 0046-Guard-mResizeDirty-by-the-correctMutex.patch
 0048-Fix-compile-tests.patch
-0049-Use-CRLF-line-delimiter-for-text-uri-list-data.patch
-0051-Avoid-calling-requestUpdate-from-wrong-thread.patch
 0053-Call-finishDrag-in-QWaylandDataDevice-dragSourceCanc.patch
 0054-Hold-surface-read-lock-throughout-QWaylandEglWindow-.patch
-0055-Client-Ensure-that-wl_surface-lives-as-long-as-qtqui.patch
 0056-Keep-toplevel-windows-in-the-top-left-corner-of-the-.patch
-0057-Revert-Client-Ensure-that-wl_surface-lives-as-long-a.patch
 0058-Client-Add-F_SEAL_SHRINK-seal-to-shm-backing-file.patch
 0059-Client-Call-wl_output_release-upon-QWaylandScreen-de.patch
 0060-Client-Bump-wl_output-version.patch



More information about the Neon-commits mailing list