[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