* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2019-11-20 21:21 Andreas Sturmlechner
0 siblings, 0 replies; 17+ messages in thread
From: Andreas Sturmlechner @ 2019-11-20 21:21 UTC (permalink / raw
To: gentoo-commits
commit: 67717e9236ac04143c28b36b41acb39a3e9dc5c0
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 16 10:56:29 2019 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Nov 20 21:20:41 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67717e92
dev-qt/qtwayland: Fix touch ignored if down and motion in same frame
Package-Manager: Portage-2.3.79, Repoman-2.3.17
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
.../files/qtwayland-5.13.2-fix-touch-ignored.patch | 36 +++++++++++++++++
dev-qt/qtwayland/qtwayland-5.13.2-r1.ebuild | 47 ++++++++++++++++++++++
2 files changed, 83 insertions(+)
diff --git a/dev-qt/qtwayland/files/qtwayland-5.13.2-fix-touch-ignored.patch b/dev-qt/qtwayland/files/qtwayland-5.13.2-fix-touch-ignored.patch
new file mode 100644
index 00000000000..4a33d97bf17
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-5.13.2-fix-touch-ignored.patch
@@ -0,0 +1,36 @@
+From 57c28f461a066c03ef8ae3f823c040fa91876fb8 Mon Sep 17 00:00:00 2001
+From: Johan Klokkhammer Helsing <johan.helsing@qt.io>
+Date: Mon, 4 Nov 2019 14:21:18 +0100
+Subject: [PATCH] Fix touch being ignored when down and motion are in the same
+ frame
+
+The Wayland protocol gives no guarantees about which events are part of a
+frame, so handle the case where we receive wl_touch.down and wl_touch.motion
+within the same frame.
+
+Fixes: QTBUG-79744
+Change-Id: I5dd9302576d81da38e003c8e7e74da6a98def603
+Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
+---
+ src/client/qwaylandinputdevice.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp
+index 8f3df8e4d..193ce714b 100644
+--- a/src/client/qwaylandinputdevice.cpp
++++ b/src/client/qwaylandinputdevice.cpp
+@@ -1062,7 +1062,10 @@ void QWaylandInputDevice::handleTouchPoint(int id, Qt::TouchPointState state, co
+ tp.area.moveCenter(globalPosition);
+ }
+
+- tp.state = state;
++ // If the touch point was pressed earlier this frame, we don't want to overwrite its state.
++ if (tp.state != Qt::TouchPointPressed)
++ tp.state = state;
++
+ tp.pressure = tp.state == Qt::TouchPointReleased ? 0 : 1;
+ }
+
+--
+2.16.3
+
diff --git a/dev-qt/qtwayland/qtwayland-5.13.2-r1.ebuild b/dev-qt/qtwayland/qtwayland-5.13.2-r1.ebuild
new file mode 100644
index 00000000000..23b38b6f8d7
--- /dev/null
+++ b/dev-qt/qtwayland/qtwayland-5.13.2-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit qt5-build
+
+DESCRIPTION="Wayland platform plugin for Qt"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86"
+fi
+
+IUSE="+libinput xcomposite"
+
+DEPEND="
+ >=dev-libs/wayland-1.6.0
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtdeclarative-${PV}
+ ~dev-qt/qtgui-${PV}[egl,libinput=]
+ media-libs/mesa[egl]
+ >=x11-libs/libxkbcommon-0.2.0
+ xcomposite? (
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-touch-ignored.patch" # QTBUG-79744
+)
+
+src_prepare() {
+ qt_use_disable_config libinput xkbcommon-evdev \
+ src/client/client.pro \
+ src/compositor/wayland_wrapper/wayland_wrapper.pri \
+ src/plugins/shellintegration/ivi-shell/ivi-shell.pro \
+ src/plugins/shellintegration/wl-shell/wl-shell.pro \
+ src/plugins/shellintegration/xdg-shell/xdg-shell.pro \
+ src/plugins/shellintegration/xdg-shell-v5/xdg-shell-v5.pro \
+ src/plugins/shellintegration/xdg-shell-v6/xdg-shell-v6.pro \
+ tests/auto/compositor/compositor/compositor.pro
+
+ use xcomposite || rm -r config.tests/xcomposite || die
+
+ qt5-build_src_prepare
+}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2019-12-18 15:41 Andreas Sturmlechner
0 siblings, 0 replies; 17+ messages in thread
From: Andreas Sturmlechner @ 2019-12-18 15:41 UTC (permalink / raw
To: gentoo-commits
commit: 5433f2def6a70a0c0fedc1581ce0727ec1ef3595
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 18 15:41:22 2019 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Dec 18 15:41:37 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5433f2de
dev-qt/qtwayland: Use final upstream patch
Package-Manager: Portage-2.3.82, Repoman-2.3.20
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
.../qtwayland-5.14.0-fix-linuxdmabuf-build.patch | 31 ++++++++++++++++++++++
dev-qt/qtwayland/qtwayland-5.14.0.ebuild | 4 ++-
2 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/dev-qt/qtwayland/files/qtwayland-5.14.0-fix-linuxdmabuf-build.patch b/dev-qt/qtwayland/files/qtwayland-5.14.0-fix-linuxdmabuf-build.patch
new file mode 100644
index 00000000000..7040a68a1b8
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-5.14.0-fix-linuxdmabuf-build.patch
@@ -0,0 +1,31 @@
+From c2105d8b7e16cc934b886537968228f6300bf4bc Mon Sep 17 00:00:00 2001
+From: Johan Klokkhammer Helsing <johan.helsing@qt.io>
+Date: Fri, 8 Nov 2019 13:58:04 +0100
+Subject: [PATCH] Fix compilation of linuxdmabuf compositor plugin
+
+Mesa's eglext.h no longer includes eglmesaext.h, so copy over the typedefs we need.
+
+Fixes: QTBUG-79709
+Change-Id: I3190ef56e0e162636efea440dff7e760cf11fcd0
+Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
+---
+ .../compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h b/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h
+index 8554721e1..02b5b6f88 100644
+--- a/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h
++++ b/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h
+@@ -58,6 +58,10 @@
+ #define DRM_FORMAT_MOD_INVALID fourcc_mod_code(NONE, DRM_FORMAT_RESERVED)
+ #endif
+
++// Copied from eglmesaext.h
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDWAYLANDDISPLAYWL) (EGLDisplay dpy, struct wl_display *display);
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNBINDWAYLANDDISPLAYWL) (EGLDisplay dpy, struct wl_display *display);
++
+ QT_BEGIN_NAMESPACE
+
+ class QWaylandCompositor;
+--
+2.16.3
diff --git a/dev-qt/qtwayland/qtwayland-5.14.0.ebuild b/dev-qt/qtwayland/qtwayland-5.14.0.ebuild
index 921cad2b4aa..9f283811681 100644
--- a/dev-qt/qtwayland/qtwayland-5.14.0.ebuild
+++ b/dev-qt/qtwayland/qtwayland-5.14.0.ebuild
@@ -26,7 +26,9 @@ DEPEND="
"
RDEPEND="${DEPEND}"
-PATCHES=( "${FILESDIR}/${PN}-5.13.2-fix-linuxdmabuf-build.patch" )
+PATCHES=(
+ "${FILESDIR}/${P}-fix-linuxdmabuf-build.patch" # bug 699190, QTBUG-79709
+)
src_prepare() {
qt_use_disable_config libinput xkbcommon-evdev \
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2021-01-07 16:31 Andreas Sturmlechner
0 siblings, 0 replies; 17+ messages in thread
From: Andreas Sturmlechner @ 2021-01-07 16:31 UTC (permalink / raw
To: gentoo-commits
commit: df09d077cf4b5361c6d9e8c7da213cb46206e4a5
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 7 15:23:57 2021 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Jan 7 16:30:32 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=df09d077
dev-qt/qtwayland: Scanner: Avoid dangling pointers in destroy_func()
See also: https://mail.kde.org/pipermail/plasma-devel/2021-January/119115.html
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
...-qtwaylandscanner-avoid-dangling-pointers.patch | 35 ++++++++++++++++++
dev-qt/qtwayland/qtwayland-5.15.2-r1.ebuild | 41 ++++++++++++++++++++++
2 files changed, 76 insertions(+)
diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.2-qtwaylandscanner-avoid-dangling-pointers.patch b/dev-qt/qtwayland/files/qtwayland-5.15.2-qtwaylandscanner-avoid-dangling-pointers.patch
new file mode 100644
index 00000000000..0799cb1a202
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-5.15.2-qtwaylandscanner-avoid-dangling-pointers.patch
@@ -0,0 +1,35 @@
+From 735164b5c2a2637a8d53a8803a2401e4ef477ff0 Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
+Date: Fri, 30 Oct 2020 16:55:30 +0200
+Subject: [PATCH] Scanner: Avoid accessing dangling pointers in destroy_func()
+
+Usually, the object associated with the resource gets destroyed in the
+destroy_resource() function.
+
+Therefore, we need to double-check that the object is still alive before
+trying to reset its m_resource.
+
+Pick-to: 5.15
+Change-Id: I26408228f58919db17eb29584a1cbd4a9427d25c
+Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
+---
+ src/qtwaylandscanner/qtwaylandscanner.cpp | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/qtwaylandscanner/qtwaylandscanner.cpp b/src/qtwaylandscanner/qtwaylandscanner.cpp
+index 1a1f8bf16..450ef519d 100644
+--- a/src/qtwaylandscanner/qtwaylandscanner.cpp
++++ b/src/qtwaylandscanner/qtwaylandscanner.cpp
+@@ -814,7 +814,9 @@ bool Scanner::process()
+ printf(" if (Q_LIKELY(that)) {\n");
+ printf(" that->m_resource_map.remove(resource->client(), resource);\n");
+ printf(" that->%s_destroy_resource(resource);\n", interfaceNameStripped);
+- printf(" if (that->m_resource == resource)\n");
++ printf("\n");
++ printf(" that = resource->%s_object;\n", interfaceNameStripped);
++ printf(" if (that && that->m_resource == resource)\n");
+ printf(" that->m_resource = nullptr;\n");
+ printf(" }\n");
+ printf(" delete resource;\n");
+--
+2.16.3
diff --git a/dev-qt/qtwayland/qtwayland-5.15.2-r1.ebuild b/dev-qt/qtwayland/qtwayland-5.15.2-r1.ebuild
new file mode 100644
index 00000000000..ea32d4ffc9c
--- /dev/null
+++ b/dev-qt/qtwayland/qtwayland-5.15.2-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit qt5-build
+
+DESCRIPTION="Wayland platform plugin for Qt"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+fi
+
+IUSE="vulkan X"
+
+DEPEND="
+ >=dev-libs/wayland-1.6.0
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtdeclarative-${PV}
+ ~dev-qt/qtgui-${PV}[egl,libinput,vulkan=]
+ media-libs/mesa[egl]
+ >=x11-libs/libxkbcommon-0.2.0
+ vulkan? ( dev-util/vulkan-headers )
+ X? (
+ ~dev-qt/qtgui-${PV}[-gles2-only]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-qtwaylandscanner-avoid-dangling-pointers.patch )
+
+src_configure() {
+ local myqmakeargs=(
+ --
+ $(qt_use vulkan feature-wayland-vulkan-server-buffer)
+ $(qt_use X feature-xcomposite-egl)
+ $(qt_use X feature-xcomposite-glx)
+ )
+ qt5-build_src_configure
+}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2021-12-10 13:19 Andreas Sturmlechner
0 siblings, 0 replies; 17+ messages in thread
From: Andreas Sturmlechner @ 2021-12-10 13:19 UTC (permalink / raw
To: gentoo-commits
commit: 7e09ceab8329a85fe65c439afb94d85f68c8d53e
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 10 12:51:05 2021 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Dec 10 13:19:02 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e09ceab
dev-qt/qtwayland: Try to fix crashes on monitor disconnects
See also: https://codereview.qt-project.org/c/qt/qtwayland/+/381271
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=438839#c53
Package-Manager: Portage-3.0.29, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
...-fix-crash-when-iterating-through-outputs.patch | 36 ++++++++++++++++++++++
dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild | 4 +++
2 files changed, 40 insertions(+)
diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.2-fix-crash-when-iterating-through-outputs.patch b/dev-qt/qtwayland/files/qtwayland-5.15.2-fix-crash-when-iterating-through-outputs.patch
new file mode 100644
index 000000000000..cf37737e0226
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-5.15.2-fix-crash-when-iterating-through-outputs.patch
@@ -0,0 +1,36 @@
+From 46ed85a80b28d519cf5887bbdce55d1bf57886c3 Mon Sep 17 00:00:00 2001
+From: David Edmundson <davidedmundson@kde.org>
+Date: Sun, 14 Nov 2021 13:54:19 +0000
+Subject: [PATCH] Client: Avoid processing of events when showing windows
+
+The only time we want to dispatch events from the wayland socket is when
+the application is waiting for external events. Doing so at any other
+time will cause unpredictable behavior in client code.
+
+This caused a crash downstream where we had outputs get altered whilst
+itterating through outputs, which shouldn't happen.
+
+There is no benefit to flushing here, it won't make anything appear
+faster as we haven't attached the buffer yet.
+
+Change-Id: Ie13eae4012dab96a93d8810f468d1343402b8c28
+Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
+Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
+---
+ src/client/qwaylandwindow.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
+index 635c92a08..b0d1c0d1c 100644
+--- a/src/client/qwaylandwindow.cpp
++++ b/src/client/qwaylandwindow.cpp
+@@ -477,7 +477,6 @@ void QWaylandWindow::setVisible(bool visible)
+ if (window()->type() == Qt::Popup || window()->type() == Qt::ToolTip)
+ activePopups << this;
+ initWindow();
+- mDisplay->flushRequests();
+
+ setGeometry(windowGeometry());
+ // Don't flush the events here, or else the newly visible window may start drawing, but since
+--
+2.16.3
diff --git a/dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild b/dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild
index 528a0d8a1745..60bd8391f0d6 100644
--- a/dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild
+++ b/dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild
@@ -33,6 +33,10 @@ BDEPEND="
dev-util/wayland-scanner
"
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-crash-when-iterating-through-outputs.patch # KDE-bug 438839
+)
+
src_configure() {
local myqmakeargs=(
--
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2022-01-22 12:20 Andreas Sturmlechner
0 siblings, 0 replies; 17+ messages in thread
From: Andreas Sturmlechner @ 2022-01-22 12:20 UTC (permalink / raw
To: gentoo-commits
commit: 16ef3978955c80e44daf8ccfb2c68463d4aefede
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 22 12:04:42 2022 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Jan 22 12:05:44 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=16ef3978
dev-qt/qtwayland: Drop 5.15.2-r16
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
dev-qt/qtwayland/Manifest | 1 -
...-fix-crash-when-iterating-through-outputs.patch | 36 ----------------
dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild | 48 ----------------------
3 files changed, 85 deletions(-)
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest
index 343c801c49a2..b5b66bd5c2dd 100644
--- a/dev-qt/qtwayland/Manifest
+++ b/dev-qt/qtwayland/Manifest
@@ -1,3 +1,2 @@
DIST qtwayland-5.15.2-4644d51f.tar.gz 831697 BLAKE2B c3d60416ef71030018918ec5157122e2585d270d5aa1a74d66874a33f14f0c4ac85da5a1dd7bfb422a1090f79e5d2c08763c68fe724416b34bad16f945d1740c SHA512 e350396e9bdfa6f0fda938af74c722792d50473eb3d786442ba11919e7801f0cd8d045916c8e49d8a63ffd966376cb74e7cc1c3d4d1732e71061fb8343a497d3
DIST qtwayland-5.15.2-867540b9.tar.gz 830061 BLAKE2B b831288d6a3e671631b4df00eb1edb72e35128f3ed5a73983b3e15193f554fddcd0337deb832d44b795d2e37f0601fe35b8b0fcb5986bcc44154d172f3a54193 SHA512 b834802811d9f65559ef5e7468189b53c666e390aa09edeb490e5fee2dece13082b11da0f8b5924b89f7dc8e1eba375a485940f4dfbf0445f3d1e96033e33f24
-DIST qtwayland-5.15.2-eb422ab5.tar.gz 829140 BLAKE2B e913e481741b23873a88db32896c7f3445a2ddee2dc9cfdf8e132fdd79021de369506e32ce9ed50977fb1c42d624169b7d67c9247f7609276e699e5ab3a9462e SHA512 b5094b00feab5909b4de6382a3633fc321d5f5fbc34e4cbde1f364123b24990df95cef5c34a90f73dca67b0578e0da71b894f771ebbd8d152dcdc71b114d9773
diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.2-fix-crash-when-iterating-through-outputs.patch b/dev-qt/qtwayland/files/qtwayland-5.15.2-fix-crash-when-iterating-through-outputs.patch
deleted file mode 100644
index cf37737e0226..000000000000
--- a/dev-qt/qtwayland/files/qtwayland-5.15.2-fix-crash-when-iterating-through-outputs.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 46ed85a80b28d519cf5887bbdce55d1bf57886c3 Mon Sep 17 00:00:00 2001
-From: David Edmundson <davidedmundson@kde.org>
-Date: Sun, 14 Nov 2021 13:54:19 +0000
-Subject: [PATCH] Client: Avoid processing of events when showing windows
-
-The only time we want to dispatch events from the wayland socket is when
-the application is waiting for external events. Doing so at any other
-time will cause unpredictable behavior in client code.
-
-This caused a crash downstream where we had outputs get altered whilst
-itterating through outputs, which shouldn't happen.
-
-There is no benefit to flushing here, it won't make anything appear
-faster as we haven't attached the buffer yet.
-
-Change-Id: Ie13eae4012dab96a93d8810f468d1343402b8c28
-Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
----
- src/client/qwaylandwindow.cpp | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
-index 635c92a08..b0d1c0d1c 100644
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -477,7 +477,6 @@ void QWaylandWindow::setVisible(bool visible)
- if (window()->type() == Qt::Popup || window()->type() == Qt::ToolTip)
- activePopups << this;
- initWindow();
-- mDisplay->flushRequests();
-
- setGeometry(windowGeometry());
- // Don't flush the events here, or else the newly visible window may start drawing, but since
---
-2.16.3
diff --git a/dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild b/dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild
deleted file mode 100644
index cb1a79288c53..000000000000
--- a/dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-KDE_ORG_COMMIT=eb422ab5e07498a7a8d086f6a942ee35ab3c9776
-inherit qt5-build
-
-DESCRIPTION="Wayland platform plugin for Qt"
-SLOT=5/${QT5_PV} # bug 815646
-
-if [[ ${QT5_BUILD_TYPE} == release ]]; then
- KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86"
-fi
-
-IUSE="vulkan X"
-
-DEPEND="
- dev-libs/wayland
- =dev-qt/qtcore-${QT5_PV}*:5=
- =dev-qt/qtdeclarative-${QT5_PV}*:5=
- =dev-qt/qtgui-${QT5_PV}*:5=[egl,libinput,vulkan=,X?]
- media-libs/libglvnd
- vulkan? ( dev-util/vulkan-headers )
- X? (
- =dev-qt/qtgui-${QT5_PV}*[-gles2-only]
- x11-libs/libX11
- x11-libs/libXcomposite
- )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- dev-util/wayland-scanner
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-fix-crash-when-iterating-through-outputs.patch # KDE-bug 438839
-)
-
-src_configure() {
- local myqmakeargs=(
- --
- $(qt_use vulkan feature-wayland-vulkan-server-buffer)
- $(qt_use X feature-xcomposite-egl)
- $(qt_use X feature-xcomposite-glx)
- )
- qt5-build_src_configure
-}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2022-03-21 11:04 Andreas Sturmlechner
0 siblings, 0 replies; 17+ messages in thread
From: Andreas Sturmlechner @ 2022-03-21 11:04 UTC (permalink / raw
To: gentoo-commits
commit: cc0b61233fb5f280359588eec8672d0fd248dc56
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 17 21:52:09 2022 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Mar 21 11:03:36 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc0b6123
dev-qt/qtwayland: 5.15.3 version bump
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
dev-qt/qtwayland/Manifest | 2 +
.../qtwayland-5.15.3-QTBUG-90037-QTBUG-91264.patch | 131 +++++++++++++++++++++
dev-qt/qtwayland/qtwayland-5.15.3.ebuild | 51 ++++++++
3 files changed, 184 insertions(+)
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest
index c5f631739822..8a755b3fdabc 100644
--- a/dev-qt/qtwayland/Manifest
+++ b/dev-qt/qtwayland/Manifest
@@ -1,2 +1,4 @@
DIST qtwayland-5.15.2-867540b9.tar.gz 830061 BLAKE2B b831288d6a3e671631b4df00eb1edb72e35128f3ed5a73983b3e15193f554fddcd0337deb832d44b795d2e37f0601fe35b8b0fcb5986bcc44154d172f3a54193 SHA512 b834802811d9f65559ef5e7468189b53c666e390aa09edeb490e5fee2dece13082b11da0f8b5924b89f7dc8e1eba375a485940f4dfbf0445f3d1e96033e33f24
DIST qtwayland-5.15.2-d6a6b727.tar.gz 831439 BLAKE2B 430f7c8570f9941e80db68f63efa9669f40d045e8df8820ec8653152938078b91d8d68b76667c6c01cc83cfca3f3b0ea67b6fdee6230e04fd091dcaaed4400bc SHA512 a2314f31c979594c4bd46fe8f1ac44d3391e45e6fedef44eaac5fb8700d1b32ac992f3e9d17e2453f0311038979a2bf8fabb14ea887525e16fb210307844c71d
+DIST qtwayland-5.15.3-gentoo-kde-1.tar.xz 34944 BLAKE2B e2113d9351b9c773d2a946a5593657dda7d62b8022190ac10527dea4324951aa486b66e2a461d45d583c3b316b4be6e60d391ceed49dfbc5adb5d4e164e9d763 SHA512 80ae360d3be2c0a63d2161b76bbc5e90a45c39841f8642162bc5da1236a3af7016a2899775ed79c8144d17dcb80f84fa8d05cfc69090ed7a69b72edf4d69bcff
+DIST qtwayland-everywhere-opensource-src-5.15.3.tar.xz 565004 BLAKE2B bc146caf77d42436dcb599df8d2aea422ac8717151dee91b9be129b97902d5af274dec90bd5ffceef62512515e5cf57a61ab773cfc6c13742a6cc5d9b6f72726 SHA512 0a9768282170709050490fb1b9daef59c21c8b5c4785f56a452d7954ffb6f016ec836022693941c99c5c10b2c3c55c75ba37fdad09dd1e0cde627f8b87b90c89
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
new file mode 100644
index 000000000000..8bffa3e08b3e
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-5.15.3-QTBUG-90037-QTBUG-91264.patch
@@ -0,0 +1,131 @@
+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
new file mode 100644
index 000000000000..bf1a290f2e8f
--- /dev/null
+++ b/dev-qt/qtwayland/qtwayland-5.15.3.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+QT5_KDEPATCHSET_REV=1
+inherit qt5-build
+
+DESCRIPTION="Wayland platform plugin for Qt"
+SLOT=5/${QT5_PV} # bug 815646
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE="vulkan X"
+
+DEPEND="
+ dev-libs/wayland
+ =dev-qt/qtcore-${QT5_PV}*:5=
+ =dev-qt/qtdeclarative-${QT5_PV}*:5=
+ =dev-qt/qtgui-${QT5_PV}*:5=[egl,libinput,vulkan=,X?]
+ media-libs/libglvnd
+ vulkan? ( dev-util/vulkan-headers )
+ X? (
+ =dev-qt/qtgui-${QT5_PV}*[-gles2-only]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ dev-util/wayland-scanner
+"
+
+PATCHES=( "${FILESDIR}/${P}-QTBUG-90037-QTBUG-91264.patch" ) # upstream pending
+
+src_configure() {
+ local myqmakeargs=(
+ --
+ $(qt_use vulkan feature-wayland-vulkan-server-buffer)
+ $(qt_use X feature-xcomposite-egl)
+ $(qt_use X feature-xcomposite-glx)
+ )
+ qt5-build_src_configure
+}
+
+src_install() {
+ qt5-build_src_install
+ rm "${D}${QT5_BINDIR}"/qtwaylandscanner || die
+}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2022-03-21 11:27 Andreas Sturmlechner
0 siblings, 0 replies; 17+ messages in thread
From: Andreas Sturmlechner @ 2022-03-21 11:27 UTC (permalink / raw
To: gentoo-commits
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-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=(
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2022-04-17 19:29 Sam James
0 siblings, 0 replies; 17+ messages in thread
From: Sam James @ 2022-04-17 19:29 UTC (permalink / raw
To: gentoo-commits
commit: ebb73b73e7dba0b7748372d24fef04ed1f2eafcc
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 15 21:39:45 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Apr 17 19:28:23 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ebb73b73
dev-qt/qtwayland: Drop 5.15.2-r20
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-qt/qtwayland/Manifest | 1 -
.../files/qtwayland-5.15.2-fix-qmake-deps.patch | 126 ---------------------
.../files/qtwayland-5.15.2-fixup-mutexes.patch | 87 --------------
.../qtwayland-5.15.2-guard-mResizeDirty.patch | 37 ------
dev-qt/qtwayland/qtwayland-5.15.2-r20.ebuild | 51 ---------
5 files changed, 302 deletions(-)
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest
index ef7a416aa450..d51d66885922 100644
--- a/dev-qt/qtwayland/Manifest
+++ b/dev-qt/qtwayland/Manifest
@@ -1,4 +1,3 @@
DIST qtwayland-5.15.2-867540b9.tar.gz 830061 BLAKE2B b831288d6a3e671631b4df00eb1edb72e35128f3ed5a73983b3e15193f554fddcd0337deb832d44b795d2e37f0601fe35b8b0fcb5986bcc44154d172f3a54193 SHA512 b834802811d9f65559ef5e7468189b53c666e390aa09edeb490e5fee2dece13082b11da0f8b5924b89f7dc8e1eba375a485940f4dfbf0445f3d1e96033e33f24
-DIST qtwayland-5.15.2-d6a6b727.tar.gz 831439 BLAKE2B 430f7c8570f9941e80db68f63efa9669f40d045e8df8820ec8653152938078b91d8d68b76667c6c01cc83cfca3f3b0ea67b6fdee6230e04fd091dcaaed4400bc SHA512 a2314f31c979594c4bd46fe8f1ac44d3391e45e6fedef44eaac5fb8700d1b32ac992f3e9d17e2453f0311038979a2bf8fabb14ea887525e16fb210307844c71d
DIST qtwayland-5.15.3-gentoo-kde-2.tar.xz 35460 BLAKE2B ea229ae3007405dcb431c90c3a8411d11d2d5715e917f5a57cc2881da4274938d6466f1562dc5f750b8d27ee60a459d6251ca1ab2563f6ee4b9f89e17a956b59 SHA512 63041bcf68869eb5bd1449bfeecd9847c6890378743eaf1f6cedd95b01f54448be804de6bb5649d70240d4fe98d39fd58db2ba5a5234269c17b5127dd1d76dd3
DIST qtwayland-everywhere-opensource-src-5.15.3.tar.xz 565004 BLAKE2B bc146caf77d42436dcb599df8d2aea422ac8717151dee91b9be129b97902d5af274dec90bd5ffceef62512515e5cf57a61ab773cfc6c13742a6cc5d9b6f72726 SHA512 0a9768282170709050490fb1b9daef59c21c8b5c4785f56a452d7954ffb6f016ec836022693941c99c5c10b2c3c55c75ba37fdad09dd1e0cde627f8b87b90c89
diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.2-fix-qmake-deps.patch b/dev-qt/qtwayland/files/qtwayland-5.15.2-fix-qmake-deps.patch
deleted file mode 100644
index e0c18228ed0f..000000000000
--- a/dev-qt/qtwayland/files/qtwayland-5.15.2-fix-qmake-deps.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From 3b72261b8b06397a532a40e41103c6b7a44e3ab5 Mon Sep 17 00:00:00 2001
-From: Fabian Vogt <fabian@ritter-vogt.de>
-Date: Fri, 4 Feb 2022 11:07:36 +0100
-Subject: [PATCH] Use proper dependencies in compile tests
-
-Use the dependencies as found by the "libraries" section instead of relying
-on them being available in the default location (e.g. "-ldrm").
-
-Additionally, VK_USE_PLATFORM_WAYLAND_KHR requires <wayland-client.h>, so
-add the wayland-client dependency.
-
-This fixes those tests if e.g. wayland-client headers need to be found through
-pkgconfig.
-
-This part of the code changed completely in Qt 6, so this is a totally
-different patch and not a cherry-pick of 5fc2e1915c3a
-("CMake: Fix qtwayland feature detection").
-
-Fixes: QTBUG-100475
----
- src/client/configure.json | 8 ++++----
- src/compositor/configure.json | 34 +++++++++++++++++++++++++++++-----
- 2 files changed, 33 insertions(+), 9 deletions(-)
-
-diff --git a/src/client/configure.json b/src/client/configure.json
-index 2f424580..29222357 100644
---- a/src/client/configure.json
-+++ b/src/client/configure.json
-@@ -149,8 +149,7 @@
- "#endif"
- ]
- },
-- "libs": "-ldrm",
-- "use": "egl"
-+ "use": "drm egl"
- },
- "vulkan-server-buffer": {
- "label": "Vulkan Buffer Sharing",
-@@ -168,7 +167,8 @@
- "exportAllocInfo.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;",
- "return 0;"
- ]
-- }
-+ },
-+ "use": "wayland-client"
- },
- "egl_1_5-wayland": {
- "label": "EGL 1.5 with Wayland Platform",
-@@ -183,7 +183,7 @@
- "eglGetPlatformDisplay(EGL_PLATFORM_WAYLAND_EXT, (struct wl_display *)(nullptr), nullptr);"
- ]
- },
-- "use": "egl"
-+ "use": "egl wayland-client"
- }
- },
-
-diff --git a/src/compositor/configure.json b/src/compositor/configure.json
-index bcfd5215..da95d07b 100644
---- a/src/compositor/configure.json
-+++ b/src/compositor/configure.json
-@@ -7,6 +7,31 @@
- "testDir": "../../config.tests",
-
- "libraries": {
-+ "wayland-client": {
-+ "label": "Wayland client library",
-+ "headers": "wayland-version.h",
-+ "test": {
-+ "main": [
-+ "#if WAYLAND_VERSION_MAJOR < 1",
-+ "# error Wayland 1.8.0 or higher required",
-+ "#endif",
-+ "#if WAYLAND_VERSION_MAJOR == 1",
-+ "# if WAYLAND_VERSION_MINOR < 8",
-+ "# error Wayland 1.8.0 or higher required",
-+ "# endif",
-+ "# if WAYLAND_VERSION_MINOR == 8",
-+ "# if WAYLAND_VERSION_MICRO < 0",
-+ "# error Wayland 1.8.0 or higher required",
-+ "# endif",
-+ "# endif",
-+ "#endif"
-+ ]
-+ },
-+ "sources": [
-+ { "type": "pkgConfig", "args": "wayland-client" },
-+ "-lwayland-client"
-+ ]
-+ },
- "wayland-server": {
- "label": "wayland-server",
- "headers": "wayland-version.h",
-@@ -151,8 +176,7 @@
- "#endif"
- ]
- },
-- "libs": "-ldrm",
-- "use": "egl"
-+ "use": "drm egl"
- },
- "dmabuf-client-buffer": {
- "label": "Linux Client dma-buf Buffer Sharing",
-@@ -176,8 +200,7 @@
- "return 0;"
- ]
- },
-- "libs": "-ldrm",
-- "use": "egl"
-+ "use": "drm egl"
- },
- "vulkan-server-buffer": {
- "label": "Vulkan Buffer Sharing",
-@@ -195,7 +218,8 @@
- "exportAllocInfo.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;",
- "return 0;"
- ]
-- }
-+ },
-+ "use": "wayland-client"
- }
- },
-
---
-GitLab
-
diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.2-fixup-mutexes.patch b/dev-qt/qtwayland/files/qtwayland-5.15.2-fixup-mutexes.patch
deleted file mode 100644
index b861cebe60ac..000000000000
--- a/dev-qt/qtwayland/files/qtwayland-5.15.2-fixup-mutexes.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From bf4335b1ea9b179076cbd7a1c2e8cfa9538b1dc1 Mon Sep 17 00:00:00 2001
-From: David Edmundson <davidedmundson@kde.org>
-Date: Thu, 3 Feb 2022 14:27:08 +0000
-Subject: [PATCH] Fix up mutexes for frame callbacks
-
-Everything related to frame callback timings is used by potentially 3
-threads. Access needs guarding.
-
-Change-Id: I9f22390c175d9f2f63d31b1ebf0cdc0b830be937
----
- src/client/qwaylandwindow.cpp | 14 +++++++++-----
- src/client/qwaylandwindow_p.h | 10 +++++++---
- 2 files changed, 16 insertions(+), 8 deletions(-)
-
-diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
-index 7aee362a..72e0e601 100644
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -256,8 +256,12 @@ void QWaylandWindow::reset()
- mFrameCallback = nullptr;
- }
-
-- mFrameCallbackElapsedTimer.invalidate();
-- mWaitingForFrameCallback = false;
-+ {
-+ QMutexLocker locker(&mFrameSyncMutex);
-+ mFrameCallbackElapsedTimer.invalidate();
-+ mWaitingForFrameCallback = false;
-+ }
-+
- mFrameCallbackTimedOut = false;
-
- mMask = QRegion();
-@@ -1142,6 +1146,7 @@ QVariant QWaylandWindow::property(const QString &name, const QVariant &defaultVa
-
- void QWaylandWindow::timerEvent(QTimerEvent *event)
- {
-+ QMutexLocker locker(&mFrameSyncMutex);
- if (event->timerId() != mFrameCallbackCheckIntervalTimerId)
- return;
-
-@@ -1200,15 +1205,14 @@ void QWaylandWindow::handleUpdate()
- {
- qCDebug(lcWaylandBackingstore) << "handleUpdate" << QThread::currentThread();
-
-- if (mWaitingForFrameCallback)
-- return;
--
- // TODO: Should sync subsurfaces avoid requesting frame callbacks?
- QReadLocker lock(&mSurfaceLock);
- if (!mSurface)
- return;
-
- QMutexLocker locker(&mFrameSyncMutex);
-+ if (mWaitingForFrameCallback)
-+ return;
-
- struct ::wl_surface *wrappedSurface = reinterpret_cast<struct ::wl_surface *>(wl_proxy_create_wrapper(mSurface->object()));
- wl_proxy_set_queue(reinterpret_cast<wl_proxy *>(wrappedSurface), mDisplay->frameEventQueue());
-diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h
-index 3ff68ccb..025d7917 100644
---- a/src/client/qwaylandwindow_p.h
-+++ b/src/client/qwaylandwindow_p.h
-@@ -226,13 +226,17 @@ protected:
- Qt::MouseButtons mMousePressedInContentArea = Qt::NoButton;
-
- WId mWindowId;
-+
-+ // The following are used by the main thread the render thread and the event frame thread
-+ // Access should be guarded by mFrameSyncMutex
-+ QMutex mFrameSyncMutex;
-+ QWaitCondition mFrameSyncWait;
- bool mWaitingForFrameCallback = false;
-- bool mFrameCallbackTimedOut = false; // Whether the frame callback has timed out
- int mFrameCallbackCheckIntervalTimerId = -1;
- QElapsedTimer mFrameCallbackElapsedTimer;
-+
-+ bool mFrameCallbackTimedOut = false; // Whether the frame callback has timed out
- struct ::wl_callback *mFrameCallback = nullptr;
-- QMutex mFrameSyncMutex;
-- QWaitCondition mFrameSyncWait;
-
- // True when we have called deliverRequestUpdate, but the client has not yet attached a new buffer
- bool mWaitingForUpdate = false;
---
-GitLab
-
diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.2-guard-mResizeDirty.patch b/dev-qt/qtwayland/files/qtwayland-5.15.2-guard-mResizeDirty.patch
deleted file mode 100644
index c2e377cff054..000000000000
--- a/dev-qt/qtwayland/files/qtwayland-5.15.2-guard-mResizeDirty.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 2e2042aa18efd1389a140a5d0028d8359bd455a7 Mon Sep 17 00:00:00 2001
-From: David Edmundson <davidedmundson@kde.org>
-Date: Thu, 3 Feb 2022 19:42:33 +0000
-Subject: [PATCH] Guard mResizeDirty by the correctMutex
-
-mResizeDirty is used in the GUI thread in setCanResize which can be
-called from the GUI thread. It is queried and set whilst the resizeLock
-is held. We need to guard our usage.
-
-Change-Id: I5f8dcf8aa2cb2c4bb6274103df1da9e3e268605a
----
- src/client/qwaylandwindow.cpp | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
-index 949374b1..7aee362a 100644
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -357,11 +357,12 @@ void QWaylandWindow::setGeometry(const QRect &rect)
- if (mWindowDecoration)
- mWindowDecoration->update();
-
-- if (mResizeAfterSwap && windowType() == Egl && mSentInitialResize)
-+ if (mResizeAfterSwap && windowType() == Egl && mSentInitialResize) {
-+ QMutexLocker lock(&mResizeLock);
- mResizeDirty = true;
-- else
-+ } else {
- QWindowSystemInterface::handleGeometryChange(window(), geometry());
--
-+ }
- mSentInitialResize = true;
- }
- QRect exposeGeometry(QPoint(), geometry().size());
---
-GitLab
-
diff --git a/dev-qt/qtwayland/qtwayland-5.15.2-r20.ebuild b/dev-qt/qtwayland/qtwayland-5.15.2-r20.ebuild
deleted file mode 100644
index de0debdecf5a..000000000000
--- a/dev-qt/qtwayland/qtwayland-5.15.2-r20.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-KDE_ORG_COMMIT=d6a6b727832819d118199f7016c2c401663ee370
-inherit qt5-build
-
-DESCRIPTION="Wayland platform plugin for Qt"
-
-if [[ ${QT5_BUILD_TYPE} == release ]]; then
- KEYWORDS="~ppc ~ppc64"
-fi
-
-SLOT=5/${QT5_PV} # bug 815646
-IUSE="vulkan X"
-
-DEPEND="
- dev-libs/wayland
- =dev-qt/qtcore-${QT5_PV}*:5=
- =dev-qt/qtdeclarative-${QT5_PV}*:5=
- =dev-qt/qtgui-${QT5_PV}*:5=[egl,libinput,vulkan=,X?]
- media-libs/libglvnd
- vulkan? ( dev-util/vulkan-headers )
- X? (
- =dev-qt/qtgui-${QT5_PV}*[-gles2-only]
- x11-libs/libX11
- x11-libs/libXcomposite
- )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- dev-util/wayland-scanner
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-QTBUG-90037-QTBUG-91264.patch"
- "${FILESDIR}/${P}-fix-qmake-deps.patch"
- "${FILESDIR}/${P}-guard-mResizeDirty.patch"
- "${FILESDIR}/${P}-fixup-mutexes.patch"
-)
-
-src_configure() {
- local myqmakeargs=(
- --
- $(qt_use vulkan feature-wayland-vulkan-server-buffer)
- $(qt_use X feature-xcomposite-egl)
- $(qt_use X feature-xcomposite-glx)
- )
- qt5-build_src_configure
-}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2023-03-08 11:07 Andreas Sturmlechner
0 siblings, 0 replies; 17+ messages in thread
From: Andreas Sturmlechner @ 2023-03-08 11:07 UTC (permalink / raw
To: gentoo-commits
commit: a63274b03a791ec13fff137ba6f4b04391c56920
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 8 10:28:55 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Mar 8 11:06:55 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a63274b0
dev-qt/qtwayland: Do not cast placeholder screens to QWaylandScreen
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=466674
See also: https://codereview.qt-project.org/c/qt/qtwayland/+/464669
Bug: https://bugs.gentoo.org/900358
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
.../files/qtwayland-5.15.8-KDEBUG-466674.patch | 33 +++++++++++++++
dev-qt/qtwayland/qtwayland-5.15.8-r2.ebuild | 49 ++++++++++++++++++++++
2 files changed, 82 insertions(+)
diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.8-KDEBUG-466674.patch b/dev-qt/qtwayland/files/qtwayland-5.15.8-KDEBUG-466674.patch
new file mode 100644
index 000000000000..06ab3214f770
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-5.15.8-KDEBUG-466674.patch
@@ -0,0 +1,33 @@
+From 5049ff99ea2687919a2246332511a2753c72d3cd Mon Sep 17 00:00:00 2001
+From: Aleix Pol <aleixpol@kde.org>
+Date: Mon, 6 Mar 2023 01:11:45 +0100
+Subject: [PATCH] client: Do not cast placeholder screens to QWaylandScreen
+
+It's wrong to C-cast an object to a class that isn't theirs. Check if it
+is a placeholder first.
+
+Pick-to: 5.15 6.2 6.5
+Change-Id: I45d3c423422ae6638a033fb0f4cfefc7cd4460f0
+Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
+Reviewed-by: David Edmundson <davidedmundson@kde.org>
+(cherry picked from commit a53f022393a1276dbf8eccbae04cb0bd6cea0160)
+---
+ src/client/qwaylandnativeinterface.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/client/qwaylandnativeinterface.cpp b/src/client/qwaylandnativeinterface.cpp
+index bf54a1a00..9763c3123 100644
+--- a/src/client/qwaylandnativeinterface.cpp
++++ b/src/client/qwaylandnativeinterface.cpp
+@@ -139,7 +139,7 @@ void *QWaylandNativeInterface::nativeResourceForScreen(const QByteArray &resourc
+ {
+ QByteArray lowerCaseResource = resourceString.toLower();
+
+- if (lowerCaseResource == "output")
++ if (lowerCaseResource == "output" && !screen->handle()->isPlaceholder())
+ return ((QWaylandScreen *) screen->handle())->output();
+
+ return nullptr;
+--
+GitLab
+
diff --git a/dev-qt/qtwayland/qtwayland-5.15.8-r2.ebuild b/dev-qt/qtwayland/qtwayland-5.15.8-r2.ebuild
new file mode 100644
index 000000000000..b80975a7165f
--- /dev/null
+++ b/dev-qt/qtwayland/qtwayland-5.15.8-r2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} != *9999* ]]; then
+ QT5_KDEPATCHSET_REV=2
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+inherit qt5-build
+
+DESCRIPTION="Wayland platform plugin for Qt"
+
+SLOT=5/${QT5_PV} # bug 815646
+IUSE="vulkan X"
+
+DEPEND="
+ dev-libs/wayland
+ =dev-qt/qtcore-${QT5_PV}*:5=
+ =dev-qt/qtdeclarative-${QT5_PV}*:5=
+ =dev-qt/qtgui-${QT5_PV}*:5=[egl,libinput,vulkan=,X?]
+ media-libs/libglvnd
+ vulkan? ( dev-util/vulkan-headers )
+ X? (
+ =dev-qt/qtgui-${QT5_PV}*[-gles2-only]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-util/wayland-scanner"
+
+PATCHES=( "${FILESDIR}/${P}-KDEBUG-466674.patch" )
+
+src_configure() {
+ local myqmakeargs=(
+ --
+ $(qt_use vulkan feature-wayland-vulkan-server-buffer)
+ $(qt_use X feature-xcomposite-egl)
+ $(qt_use X feature-xcomposite-glx)
+ )
+ qt5-build_src_configure
+}
+
+src_install() {
+ qt5-build_src_install
+ rm "${D}${QT5_BINDIR}"/qtwaylandscanner || die
+}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2023-03-09 15:02 Andreas Sturmlechner
0 siblings, 0 replies; 17+ messages in thread
From: Andreas Sturmlechner @ 2023-03-09 15:02 UTC (permalink / raw
To: gentoo-commits
commit: af1a589dedd27aa4da350aae3647572c18dcfed2
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 9 14:57:26 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Mar 9 15:01:27 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af1a589d
dev-qt/qtwayland: drop 5.15.8-r2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
dev-qt/qtwayland/Manifest | 1 -
.../files/qtwayland-5.15.8-KDEBUG-466674.patch | 33 ---------------
dev-qt/qtwayland/qtwayland-5.15.8-r2.ebuild | 49 ----------------------
3 files changed, 83 deletions(-)
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest
index 474f44b7ff2f..57115a0b6826 100644
--- a/dev-qt/qtwayland/Manifest
+++ b/dev-qt/qtwayland/Manifest
@@ -1,5 +1,4 @@
DIST qtwayland-5.15.8-gentoo-kde-1.tar.xz 44488 BLAKE2B bfdd7c2959eb99e115eaf01d617464359a549513958c997dd8b1a86bda755dec44d24b6619650bf385b2894a2001a712a344b093fc94e8cde40ac9c20323903e SHA512 3cd52fc78f2451c38c6d2b0dd958895016a94b255e38ff3909f40e4bcb1ef760332fde4cffd32ab11e868ce0afe6629f325613c88b8fd85ca28f1583194ce229
-DIST qtwayland-5.15.8-gentoo-kde-2.tar.xz 46592 BLAKE2B 0f2c460038a5b6f6fb7ea38edf61b392e95caa6356e8c070bde9d7939e20aaee4a45a581e08d04ad34f2a2da6317c2a16c40e58272d0c256fd16f0a1ce6fa34a SHA512 8b6c94e032a35f6ec6400fa292b1c7b864504d5c94d095c20fd41da8576eab4325bf7312b08cca00825aa858e175510b8b37c5877207fb4d60edde99c77c9886
DIST qtwayland-5.15.8-gentoo-kde-3.tar.xz 47636 BLAKE2B b57cef6d4ce70747b74062e26459e4957c8df2c1c588b00580e175982b09c8cf172968d4d0bc95576e0e76f2640188d3beef4986d33ef4b79d209bf4a4cdbb45 SHA512 bd23c644f6e957ce7c0aacbe08112deb992608f5546889f765b333fc6094e34bc7329859d66bfbdbd56ebb5d77b82958ff3fc6614780c80573e85bb96f59eae6
DIST qtwayland-everywhere-opensource-src-5.15.8.tar.xz 568268 BLAKE2B b4e982015e25104b3270b48a180b5726ba85e83fd9616422422d8729dc09bc94bbeecfe2096e388eadb0930e4abfdd3b0349eba2bd1d8f742f0c74b5e72aeac5 SHA512 6c6e9dc20f98d71abd7dba54ff278bf4535e70f86bfc4e6dd46c1af7c87777f045a6aba02bba3eb786f7cf383da5fb72b03e1e6ec636c8be0cde0e4e5b7b5b2d
DIST qtwayland-everywhere-src-6.4.2.tar.xz 836720 BLAKE2B d8a6b84712081097775f083f3887c18eb001fd2beba32b2abc930ec3b932f6f19b347fe2fde3b98f35c1e7e31661974b13468fb176e73bdf557a330c80d847fd SHA512 29d3f3e7fade666bcd3145106f1d782122ac3fcf94811d25917c9f45af0dc8cddb3c2149545344d91e86f86490029555758ed2e180f241703251c22c7ec15122
diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.8-KDEBUG-466674.patch b/dev-qt/qtwayland/files/qtwayland-5.15.8-KDEBUG-466674.patch
deleted file mode 100644
index 06ab3214f770..000000000000
--- a/dev-qt/qtwayland/files/qtwayland-5.15.8-KDEBUG-466674.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5049ff99ea2687919a2246332511a2753c72d3cd Mon Sep 17 00:00:00 2001
-From: Aleix Pol <aleixpol@kde.org>
-Date: Mon, 6 Mar 2023 01:11:45 +0100
-Subject: [PATCH] client: Do not cast placeholder screens to QWaylandScreen
-
-It's wrong to C-cast an object to a class that isn't theirs. Check if it
-is a placeholder first.
-
-Pick-to: 5.15 6.2 6.5
-Change-Id: I45d3c423422ae6638a033fb0f4cfefc7cd4460f0
-Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
-Reviewed-by: David Edmundson <davidedmundson@kde.org>
-(cherry picked from commit a53f022393a1276dbf8eccbae04cb0bd6cea0160)
----
- src/client/qwaylandnativeinterface.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/client/qwaylandnativeinterface.cpp b/src/client/qwaylandnativeinterface.cpp
-index bf54a1a00..9763c3123 100644
---- a/src/client/qwaylandnativeinterface.cpp
-+++ b/src/client/qwaylandnativeinterface.cpp
-@@ -139,7 +139,7 @@ void *QWaylandNativeInterface::nativeResourceForScreen(const QByteArray &resourc
- {
- QByteArray lowerCaseResource = resourceString.toLower();
-
-- if (lowerCaseResource == "output")
-+ if (lowerCaseResource == "output" && !screen->handle()->isPlaceholder())
- return ((QWaylandScreen *) screen->handle())->output();
-
- return nullptr;
---
-GitLab
-
diff --git a/dev-qt/qtwayland/qtwayland-5.15.8-r2.ebuild b/dev-qt/qtwayland/qtwayland-5.15.8-r2.ebuild
deleted file mode 100644
index b80975a7165f..000000000000
--- a/dev-qt/qtwayland/qtwayland-5.15.8-r2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-if [[ ${PV} != *9999* ]]; then
- QT5_KDEPATCHSET_REV=2
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-inherit qt5-build
-
-DESCRIPTION="Wayland platform plugin for Qt"
-
-SLOT=5/${QT5_PV} # bug 815646
-IUSE="vulkan X"
-
-DEPEND="
- dev-libs/wayland
- =dev-qt/qtcore-${QT5_PV}*:5=
- =dev-qt/qtdeclarative-${QT5_PV}*:5=
- =dev-qt/qtgui-${QT5_PV}*:5=[egl,libinput,vulkan=,X?]
- media-libs/libglvnd
- vulkan? ( dev-util/vulkan-headers )
- X? (
- =dev-qt/qtgui-${QT5_PV}*[-gles2-only]
- x11-libs/libX11
- x11-libs/libXcomposite
- )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="dev-util/wayland-scanner"
-
-PATCHES=( "${FILESDIR}/${P}-KDEBUG-466674.patch" )
-
-src_configure() {
- local myqmakeargs=(
- --
- $(qt_use vulkan feature-wayland-vulkan-server-buffer)
- $(qt_use X feature-xcomposite-egl)
- $(qt_use X feature-xcomposite-glx)
- )
- qt5-build_src_configure
-}
-
-src_install() {
- qt5-build_src_install
- rm "${D}${QT5_BINDIR}"/qtwaylandscanner || die
-}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2023-06-13 11:42 Andreas Sturmlechner
0 siblings, 0 replies; 17+ messages in thread
From: Andreas Sturmlechner @ 2023-06-13 11:42 UTC (permalink / raw
To: gentoo-commits
commit: 163fd923005844a685f8bff550f531d317e387c0
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 13 11:23:27 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Jun 13 11:41:18 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=163fd923
dev-qt/qtwayland: 5.15.10 version bump
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
dev-qt/qtwayland/Manifest | 2 +
...end-release-button-event-on-pointer-leave.patch | 68 ++++++++++++++++++++++
dev-qt/qtwayland/qtwayland-5.15.10.ebuild | 54 +++++++++++++++++
3 files changed, 124 insertions(+)
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest
index d4468b0fc83a..cb00fa4872d7 100644
--- a/dev-qt/qtwayland/Manifest
+++ b/dev-qt/qtwayland/Manifest
@@ -1,3 +1,5 @@
+DIST qtwayland-5.15.10-gentoo-kde-1.tar.xz 42480 BLAKE2B 3902ecb713b8f35922b0d19bef0b2ec340ca52feb4b61de629dfa6b344d7f550de3e509e265f4476eb907f78b55d5c50c21d9dfeeb7e2e8f680a43fffc911ed4 SHA512 6a131ca2db008a2d224ee6733f47d05a455a8487d38b45cf63882e98e2c29d8163ac5d2f2c2e043f03103bada6e212b5d33cbf11677f8ca2b86fdbf02fc2b239
DIST qtwayland-5.15.9-gentoo-kde-1.tar.xz 44312 BLAKE2B be255e0d292ce6555473d4ad92b656ea0f3bd7c0d4041f92e2ccfe1e456c984ff3d9307e3ff1ebe8da5d40b6a6c938e116856ff1c392171f3157cc734461e8a7 SHA512 bf099acf0cb21c3402f38dcec8a3b2f9411e8d307e303bb2eb772e5dc5872cbdb456a7d37628d72bcf4f258f3e8f9baa53081bf5c061d6338f7431f016c0e27b
+DIST qtwayland-everywhere-opensource-src-5.15.10.tar.xz 568552 BLAKE2B c5cd4ed5ff78befb5bb49f9eb809562c418b2469aa0fa23728a1de46d57f42788bba3f87a54c8dda2ee0900c76b84213d1111fd86159dc5e6707f7b67ed386de SHA512 214b1fec7dfd815d148a7485f7811e623b06d172e58e4ee3167264a4e4b8f4aeec11474e574f91652a0bd3a48476a6747cad468f1e5035c49a55a96fc1400899
DIST qtwayland-everywhere-opensource-src-5.15.9.tar.xz 567564 BLAKE2B c5a0d39cdd746e2aa6cd011ce04baa7f1f30e21c935877a684f07d5c2a0d3446e80569fa33c3fa0953b1bea86aefd64f80fda5164f3ee5648b74c2e0e8d369b9 SHA512 d108d63ceeb3b1a8905ad7f53a7271fca6a3506679d352b7290cdf8c00e1c180b6c561ee013a674002b89e23f58cfb7b909dfc5a8fdec6cece7e0a782be77978
DIST qtwayland-everywhere-src-6.5.1.tar.xz 1059936 BLAKE2B 5b54804df8106b0585fa44612c3d688b89aaea7bd49f2420e2a44472ced9ed51c2aba1d0baf2e4636a58937e7393e6d4b1ad8c7d937dfbf96e5a90bba5393cca SHA512 9074adfb5ea9cc18896dade6706ef5a863033130f23aa11e0a7b2ae6e4df2fb64b636815e2489debb1032919a8ad20d39813d40b3ba7a87cebd801c9fae0d4f0
diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.10-send-release-button-event-on-pointer-leave.patch b/dev-qt/qtwayland/files/qtwayland-5.15.10-send-release-button-event-on-pointer-leave.patch
new file mode 100644
index 000000000000..1e949fc32355
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-5.15.10-send-release-button-event-on-pointer-leave.patch
@@ -0,0 +1,68 @@
+From 90995b07d2d4dbd12b7e527a881bf9d6158e277b Mon Sep 17 00:00:00 2001
+From: Ilya Fedin <fedin-ilja2010@ya.ru>
+Date: Sun, 19 Mar 2023 10:24:59 +0400
+Subject: [PATCH] Client: Send release button event on pointer leave
+
+Fixes: QTBUG-97037
+Pick-to: 6.6 6.5 6.2 5.15
+Change-Id: I151239b276ab5aefe166f5615baf43dab428ce0c
+Reviewed-by: David Edmundson <davidedmundson@kde.org>
+(cherry picked from commit 8235fa65fe033a94e7a44322d3502f25940092ec)
+---
+ src/client/qwaylandinputdevice.cpp | 9 +++++++--
+ src/client/qwaylandinputdevice_p.h | 1 +
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp
+index bc05583a..e562c7a7 100644
+--- a/src/client/qwaylandinputdevice.cpp
++++ b/src/client/qwaylandinputdevice.cpp
+@@ -688,8 +688,8 @@ public:
+
+ void QWaylandInputDevice::Pointer::pointer_leave(uint32_t time, struct wl_surface *surface)
+ {
++ releaseButtons();
+ invalidateFocus();
+- mButtons = Qt::NoButton;
+
+ mParent->mTime = time;
+
+@@ -804,6 +804,8 @@ void QWaylandInputDevice::Pointer::pointer_button(uint32_t serial, uint32_t time
+ default: return; // invalid button number (as far as Qt is concerned)
+ }
+
++ mLastButton = qt_button;
++
+ if (state)
+ mButtons |= qt_button;
+ else
+@@ -842,10 +844,13 @@ void QWaylandInputDevice::Pointer::invalidateFocus()
+
+ void QWaylandInputDevice::Pointer::releaseButtons()
+ {
++ if (mButtons == Qt::NoButton)
++ return;
++
+ mButtons = Qt::NoButton;
+
+ if (auto *window = focusWindow()) {
+- ReleaseEvent e(focusWindow(), mParent->mTime, mSurfacePos, mGlobalPos, mButtons, Qt::NoButton, mParent->modifiers());
++ ReleaseEvent e(focusWindow(), mParent->mTime, mSurfacePos, mGlobalPos, mButtons, mLastButton, mParent->modifiers());
+ window->handleMouse(mParent, e);
+ }
+ }
+diff --git a/src/client/qwaylandinputdevice_p.h b/src/client/qwaylandinputdevice_p.h
+index 5795f138..bafe3db2 100644
+--- a/src/client/qwaylandinputdevice_p.h
++++ b/src/client/qwaylandinputdevice_p.h
+@@ -346,6 +346,7 @@ public:
+ QPointF mSurfacePos;
+ QPointF mGlobalPos;
+ Qt::MouseButtons mButtons = Qt::NoButton;
++ Qt::MouseButton mLastButton = Qt::NoButton;
+ #if QT_CONFIG(cursor)
+ wl_buffer *mCursorBuffer = nullptr;
+ Qt::CursorShape mCursorShape = Qt::BitmapCursor;
+--
+2.41.0
+
diff --git a/dev-qt/qtwayland/qtwayland-5.15.10.ebuild b/dev-qt/qtwayland/qtwayland-5.15.10.ebuild
new file mode 100644
index 000000000000..f1bed530d4bb
--- /dev/null
+++ b/dev-qt/qtwayland/qtwayland-5.15.10.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} != *9999* ]]; then
+ QT5_KDEPATCHSET_REV=1
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+inherit qt5-build
+
+DESCRIPTION="Wayland platform plugin for Qt"
+
+SLOT=5/${QT5_PV} # bug 815646
+IUSE="vulkan X"
+
+DEPEND="
+ dev-libs/wayland
+ =dev-qt/qtcore-${QT5_PV}*:5=
+ =dev-qt/qtdeclarative-${QT5_PV}*:5=
+ =dev-qt/qtgui-${QT5_PV}*:5=[egl,libinput,vulkan=,X?]
+ media-libs/libglvnd
+ vulkan? ( dev-util/vulkan-headers )
+ X? (
+ =dev-qt/qtgui-${QT5_PV}*[-gles2-only]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-util/wayland-scanner"
+
+PATCHES=(
+ # QTBUG-97037, pending upstream:
+ # https://invent.kde.org/qt/qt/qtwayland/-/merge_requests/71
+ "${FILESDIR}/${PN}-5.15.9-fix-mouse-stuck-in-pressed-state-after-DnD.patch"
+ "${FILESDIR}/${P}-send-release-button-event-on-pointer-leave.patch"
+)
+
+src_configure() {
+ local myqmakeargs=(
+ --
+ $(qt_use vulkan feature-wayland-vulkan-server-buffer)
+ $(qt_use X feature-xcomposite-egl)
+ $(qt_use X feature-xcomposite-glx)
+ )
+ qt5-build_src_configure
+}
+
+src_install() {
+ qt5-build_src_install
+ rm "${D}${QT5_BINDIR}"/qtwaylandscanner || die
+}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2023-08-08 20:22 Andreas Sturmlechner
0 siblings, 0 replies; 17+ messages in thread
From: Andreas Sturmlechner @ 2023-08-08 20:22 UTC (permalink / raw
To: gentoo-commits
commit: 4b6ed90eaaf1519bb56933d52ff785e372acb2c3
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 8 20:07:34 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Aug 8 20:22:40 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b6ed90e
dev-qt/qtwayland: Bump to QT5_KDEPATCHSET_REV=2
Convert cursor bitmap to supported format
QTBUG: https://bugreports.qt.io/browse/QTBUG-95434
David Edmundson (1):
client: Fix crash on dnd updates after client facing drag ends
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=470925
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=472313
Closes: https://bugs.gentoo.org/910562
Closes: https://bugs.gentoo.org/911832
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
dev-qt/qtwayland/Manifest | 1 +
...5.15.10-QTBUG-95434-convert-cursor-bitmap.patch | 66 ++++++++++++++++++++++
dev-qt/qtwayland/qtwayland-5.15.10-r2.ebuild | 57 +++++++++++++++++++
3 files changed, 124 insertions(+)
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest
index 524ac95671b5..bdd8925e2519 100644
--- a/dev-qt/qtwayland/Manifest
+++ b/dev-qt/qtwayland/Manifest
@@ -1,3 +1,4 @@
DIST qtwayland-5.15.10-gentoo-kde-1.tar.xz 42480 BLAKE2B 3902ecb713b8f35922b0d19bef0b2ec340ca52feb4b61de629dfa6b344d7f550de3e509e265f4476eb907f78b55d5c50c21d9dfeeb7e2e8f680a43fffc911ed4 SHA512 6a131ca2db008a2d224ee6733f47d05a455a8487d38b45cf63882e98e2c29d8163ac5d2f2c2e043f03103bada6e212b5d33cbf11677f8ca2b86fdbf02fc2b239
+DIST qtwayland-5.15.10-gentoo-kde-2.tar.xz 43076 BLAKE2B 735ac875c0957de47f90d08931eaaaf8d53b1db0012c7d0a592c78ae78da56ffc8a1ba9bbac0577a78d4c05a92a22acef51a6afc95db54bea2d1a2a9658b67c4 SHA512 e0131bb1f2a09597a85d1d8a402bcb1d529cbc44f62e9be8dd8eba9c10007ca4f83572ca48052529b2325cdd8d886abed1f96ba4e00768e4b1c2febe1eb5ef91
DIST qtwayland-everywhere-opensource-src-5.15.10.tar.xz 568552 BLAKE2B c5cd4ed5ff78befb5bb49f9eb809562c418b2469aa0fa23728a1de46d57f42788bba3f87a54c8dda2ee0900c76b84213d1111fd86159dc5e6707f7b67ed386de SHA512 214b1fec7dfd815d148a7485f7811e623b06d172e58e4ee3167264a4e4b8f4aeec11474e574f91652a0bd3a48476a6747cad468f1e5035c49a55a96fc1400899
DIST qtwayland-everywhere-src-6.5.2.tar.xz 1059356 BLAKE2B 4708b78ff5c8e413edaa4d4400317f58dd068273a5eef7caf1500abf8afbe4e9ac405b6854691ef93265a7eeb0cfb7406024826a0b7c7ba3f8149218af67fd48 SHA512 520d109402f1d629481029a3b1eaab740e66135db4069c34651172bb2ad821b22de60e9956a96331d2f32a4522fc52c6a4ba99b474092d755760cad08c776477
diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.10-QTBUG-95434-convert-cursor-bitmap.patch b/dev-qt/qtwayland/files/qtwayland-5.15.10-QTBUG-95434-convert-cursor-bitmap.patch
new file mode 100644
index 000000000000..7b43ee3b2149
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-5.15.10-QTBUG-95434-convert-cursor-bitmap.patch
@@ -0,0 +1,66 @@
+From dd5c9e2d894ca94faaeef7dfc3cc4344a7f62640 Mon Sep 17 00:00:00 2001
+From: Michael Weghorn <m.weghorn@posteo.de>
+Date: Mon, 20 Feb 2023 14:02:23 +0100
+Subject: [PATCH] Convert cursor bitmap to supported format
+
+The 1-bit image formats QImage::Format_Mono and
+QImage::Format_MonoLSB used by cursor bitmaps don't have
+a corresponding wl_shm_format.
+
+Therefore, convert to a supported image format as necessary
+to make such bitmap cursors work on Wayland as well.
+
+Fixes: QTBUG-95434
+Change-Id: I402fd870b301ddc01075251b66f2cf7cc1923133
+Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
+(cherry picked from commit 45ec1362f8fcb5ade92f4d2d4985b1c24e78c8ba)
+
+Backport changes: Use Qt::ReturnByValue version for QCursor::mask() and QCursor::bitmap()
+---
+ src/client/qwaylandcursor.cpp | 23 ++++++++++++++++++++++-
+ 1 file changed, 22 insertions(+), 1 deletion(-)
+
+diff --git a/src/client/qwaylandcursor.cpp b/src/client/qwaylandcursor.cpp
+index e4eca9d4e..ba76ba2d0 100644
+--- a/src/client/qwaylandcursor.cpp
++++ b/src/client/qwaylandcursor.cpp
+@@ -44,6 +44,7 @@
+ #include "qwaylandshmbackingstore_p.h"
+
+ #include <QtGui/QImageReader>
++#include <QBitmap>
+ #include <QDebug>
+
+ #include <wayland-cursor.h>
+@@ -250,7 +251,27 @@ QWaylandCursor::QWaylandCursor(QWaylandDisplay *display)
+ QSharedPointer<QWaylandBuffer> QWaylandCursor::cursorBitmapBuffer(QWaylandDisplay *display, const QCursor *cursor)
+ {
+ Q_ASSERT(cursor->shape() == Qt::BitmapCursor);
+- const QImage &img = cursor->pixmap().toImage();
++
++ const QBitmap mask = cursor->mask(Qt::ReturnByValue);
++ QImage img;
++ if (cursor->pixmap().isNull())
++ img = cursor->bitmap(Qt::ReturnByValue).toImage();
++ else
++ img = cursor->pixmap().toImage();
++
++ // convert to supported format if necessary
++ if (!display->shm()->formatSupported(img.format())) {
++ if (mask.isNull()) {
++ img.convertTo(QImage::Format_RGB32);
++ } else {
++ // preserve mask
++ img.convertTo(QImage::Format_ARGB32);
++ QPixmap pixmap = QPixmap::fromImage(img);
++ pixmap.setMask(mask);
++ img = pixmap.toImage();
++ }
++ }
++
+ QSharedPointer<QWaylandShmBuffer> buffer(new QWaylandShmBuffer(display, img.size(), img.format()));
+ memcpy(buffer->image()->bits(), img.bits(), size_t(img.sizeInBytes()));
+ return buffer;
+--
+GitLab
+
diff --git a/dev-qt/qtwayland/qtwayland-5.15.10-r2.ebuild b/dev-qt/qtwayland/qtwayland-5.15.10-r2.ebuild
new file mode 100644
index 000000000000..9ca1a8b37a6f
--- /dev/null
+++ b/dev-qt/qtwayland/qtwayland-5.15.10-r2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} != *9999* ]]; then
+ QT5_KDEPATCHSET_REV=2
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+inherit qt5-build
+
+DESCRIPTION="Wayland platform plugin for Qt"
+
+SLOT=5/${QT5_PV} # bug 815646
+IUSE="vulkan X"
+
+DEPEND="
+ dev-libs/wayland
+ =dev-qt/qtcore-${QT5_PV}*:5=
+ =dev-qt/qtdeclarative-${QT5_PV}*:5=
+ =dev-qt/qtgui-${QT5_PV}*:5=[egl,libinput,vulkan=,X?]
+ media-libs/libglvnd
+ vulkan? ( dev-util/vulkan-headers )
+ X? (
+ =dev-qt/qtgui-${QT5_PV}*[-gles2-only]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-util/wayland-scanner"
+
+PATCHES=(
+ # QTBUG-97037, pending upstream:
+ # https://invent.kde.org/qt/qt/qtwayland/-/merge_requests/71
+ "${FILESDIR}/${PN}-5.15.9-fix-mouse-stuck-in-pressed-state-after-DnD.patch"
+ "${FILESDIR}/${P}-send-release-button-event-on-pointer-leave.patch"
+ # QTBUG-95434, pending/approved upstream:
+ # https://invent.kde.org/qt/qt/qtwayland/-/merge_requests/79
+ "${FILESDIR}/${P}-QTBUG-95434-convert-cursor-bitmap.patch"
+)
+
+src_configure() {
+ local myqmakeargs=(
+ --
+ $(qt_use vulkan feature-wayland-vulkan-server-buffer)
+ $(qt_use X feature-xcomposite-egl)
+ $(qt_use X feature-xcomposite-glx)
+ )
+ qt5-build_src_configure
+}
+
+src_install() {
+ qt5-build_src_install
+ rm "${D}${QT5_BINDIR}"/qtwaylandscanner || die
+}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2023-08-16 16:31 Andreas Sturmlechner
0 siblings, 0 replies; 17+ messages in thread
From: Andreas Sturmlechner @ 2023-08-16 16:31 UTC (permalink / raw
To: gentoo-commits
commit: e4a970b2bbf284847d4313b6ddb7e9081fb0aebb
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 16 15:30:41 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Aug 16 16:03:34 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4a970b2
dev-qt/qtwayland: drop 5.15.10-r3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
dev-qt/qtwayland/Manifest | 1 -
....15.10-Destroy-frame-queue-before-display.patch | 43 -----------------
dev-qt/qtwayland/qtwayland-5.15.10-r3.ebuild | 56 ----------------------
3 files changed, 100 deletions(-)
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest
index bdd8925e2519..65de0537ac9c 100644
--- a/dev-qt/qtwayland/Manifest
+++ b/dev-qt/qtwayland/Manifest
@@ -1,4 +1,3 @@
-DIST qtwayland-5.15.10-gentoo-kde-1.tar.xz 42480 BLAKE2B 3902ecb713b8f35922b0d19bef0b2ec340ca52feb4b61de629dfa6b344d7f550de3e509e265f4476eb907f78b55d5c50c21d9dfeeb7e2e8f680a43fffc911ed4 SHA512 6a131ca2db008a2d224ee6733f47d05a455a8487d38b45cf63882e98e2c29d8163ac5d2f2c2e043f03103bada6e212b5d33cbf11677f8ca2b86fdbf02fc2b239
DIST qtwayland-5.15.10-gentoo-kde-2.tar.xz 43076 BLAKE2B 735ac875c0957de47f90d08931eaaaf8d53b1db0012c7d0a592c78ae78da56ffc8a1ba9bbac0577a78d4c05a92a22acef51a6afc95db54bea2d1a2a9658b67c4 SHA512 e0131bb1f2a09597a85d1d8a402bcb1d529cbc44f62e9be8dd8eba9c10007ca4f83572ca48052529b2325cdd8d886abed1f96ba4e00768e4b1c2febe1eb5ef91
DIST qtwayland-everywhere-opensource-src-5.15.10.tar.xz 568552 BLAKE2B c5cd4ed5ff78befb5bb49f9eb809562c418b2469aa0fa23728a1de46d57f42788bba3f87a54c8dda2ee0900c76b84213d1111fd86159dc5e6707f7b67ed386de SHA512 214b1fec7dfd815d148a7485f7811e623b06d172e58e4ee3167264a4e4b8f4aeec11474e574f91652a0bd3a48476a6747cad468f1e5035c49a55a96fc1400899
DIST qtwayland-everywhere-src-6.5.2.tar.xz 1059356 BLAKE2B 4708b78ff5c8e413edaa4d4400317f58dd068273a5eef7caf1500abf8afbe4e9ac405b6854691ef93265a7eeb0cfb7406024826a0b7c7ba3f8149218af67fd48 SHA512 520d109402f1d629481029a3b1eaab740e66135db4069c34651172bb2ad821b22de60e9956a96331d2f32a4522fc52c6a4ba99b474092d755760cad08c776477
diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.10-Destroy-frame-queue-before-display.patch b/dev-qt/qtwayland/files/qtwayland-5.15.10-Destroy-frame-queue-before-display.patch
deleted file mode 100644
index 1fdf08dc7487..000000000000
--- a/dev-qt/qtwayland/files/qtwayland-5.15.10-Destroy-frame-queue-before-display.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-https://bugs.gentoo.org/910315
-https://invent.kde.org/qt/qt/qtwayland/-/merge_requests/73
-
-Reported downstream in Gentoo at https://bugs.gentoo.org/910315.
-
-`kde/5.15` has b981fc82eb37700353949c72d3fd6d0887c8c107 ('[PATCH 27/51] Reduce memory leakage')
-backported but this introduces a use-after-free because `wl_event_queue_destroy` must be called
-before `wl_display_disconnect`. So, just backport the upstream fix which sorts out the order.
-
-Upstream review: https://codereview.qt-project.org/c/qt/qtwayland/+/471416
-Upstream review (6.x): https://codereview.qt-project.org/c/qt/qtwayland/+/471528
-
-From 3a8613b91d2239aebc73b43562f929aa71af0de5 Mon Sep 17 00:00:00 2001
-From: David Redondo <qt@david-redondo.de>
-Date: Tue, 11 Apr 2023 14:27:27 +0200
-Subject: [PATCH] Destroy frame queue before display
-
-wl_event_queue_destroy accesses the display.
-Found by running a test under valgrind.
-
-Pick-to: 6.5
-Change-Id: Ic89cbd3b6e98b4fc9561b0e63b5fab4886a1ec50
-Reviewed-by: David Edmundson <davidedmundson@kde.org>
-(cherry picked from commit a76bf824fcd1cc3789f0d3454a0423c0241d9718)
---- a/src/client/qwaylanddisplay.cpp
-+++ b/src/client/qwaylanddisplay.cpp
-@@ -379,11 +379,12 @@ QWaylandDisplay::~QWaylandDisplay(void)
- #if QT_CONFIG(cursor)
- qDeleteAll(mCursorThemes);
- #endif
-- if (mDisplay)
-- wl_display_disconnect(mDisplay);
-
- if (m_frameEventQueue)
- wl_event_queue_destroy(m_frameEventQueue);
-+
-+ if (mDisplay)
-+ wl_display_disconnect(mDisplay);
- }
-
- // Steps which is called just after constructor. This separates registry_global() out of the constructor
---
-2.41.0
diff --git a/dev-qt/qtwayland/qtwayland-5.15.10-r3.ebuild b/dev-qt/qtwayland/qtwayland-5.15.10-r3.ebuild
deleted file mode 100644
index cab77b1950fc..000000000000
--- a/dev-qt/qtwayland/qtwayland-5.15.10-r3.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-if [[ ${PV} != *9999* ]]; then
- QT5_KDEPATCHSET_REV=1
- KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
-fi
-
-inherit qt5-build
-
-DESCRIPTION="Wayland platform plugin for Qt"
-
-SLOT=5/${QT5_PV} # bug 815646
-IUSE="vulkan X"
-
-DEPEND="
- dev-libs/wayland
- =dev-qt/qtcore-${QT5_PV}*:5=
- =dev-qt/qtdeclarative-${QT5_PV}*:5=
- =dev-qt/qtgui-${QT5_PV}*:5=[egl,libinput,vulkan=,X?]
- media-libs/libglvnd
- vulkan? ( dev-util/vulkan-headers )
- X? (
- =dev-qt/qtgui-${QT5_PV}*[-gles2-only]
- x11-libs/libX11
- x11-libs/libXcomposite
- )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="dev-util/wayland-scanner"
-
-PATCHES=(
- # QTBUG-97037, pending upstream:
- # https://invent.kde.org/qt/qt/qtwayland/-/merge_requests/71
- "${FILESDIR}/${PN}-5.15.9-fix-mouse-stuck-in-pressed-state-after-DnD.patch"
- # bug #910315, pending upstream:
- # https://invent.kde.org/qt/qt/qtwayland/-/merge_requests/73
- "${FILESDIR}/${P}-Destroy-frame-queue-before-display.patch"
-)
-
-src_configure() {
- local myqmakeargs=(
- --
- $(qt_use vulkan feature-wayland-vulkan-server-buffer)
- $(qt_use X feature-xcomposite-egl)
- $(qt_use X feature-xcomposite-glx)
- )
- qt5-build_src_configure
-}
-
-src_install() {
- qt5-build_src_install
- rm "${D}${QT5_BINDIR}"/qtwaylandscanner || die
-}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2023-08-17 23:21 Ionen Wolkens
0 siblings, 0 replies; 17+ messages in thread
From: Ionen Wolkens @ 2023-08-17 23:21 UTC (permalink / raw
To: gentoo-commits
commit: 69c8497c982a6e82cd1c1762e27c3cdfe52436ed
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 17 22:50:11 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Aug 17 23:19:03 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69c8497c
dev-qt/qtwayland: backport segfault fix with drag&drop
Notably manifests itself with qutebrowser. Not very
tested but is just a simple null check and so no worries.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
.../files/qtwayland-6.5.2-drag-drop-segfault.patch | 38 ++++++++++++++++++++++
...land-6.5.2.ebuild => qtwayland-6.5.2-r1.ebuild} | 2 ++
2 files changed, 40 insertions(+)
diff --git a/dev-qt/qtwayland/files/qtwayland-6.5.2-drag-drop-segfault.patch b/dev-qt/qtwayland/files/qtwayland-6.5.2-drag-drop-segfault.patch
new file mode 100644
index 000000000000..d19522c4b8ef
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-6.5.2-drag-drop-segfault.patch
@@ -0,0 +1,38 @@
+Regression in 6.5.2 that is fixed >=6.5.3.
+https://bugreports.qt.io/browse/QTBUG-115757
+https://github.com/qutebrowser/qutebrowser/issues/7827
+
+https://github.com/qt/qtwayland/commit/02e9e0a2d4538eb2b3c26d3137228f8f501bcf7f
+From: David Edmundson <davidedmundson@kde.org>
+Date: Wed, 7 Jun 2023 22:12:15 +0100
+Subject: [PATCH] client: Fix crash on dnd updates after client facing drag
+ ends
+
+A platform drag and a application-facing drag have two different
+lifespans.
+
+The platform drag lasts until all mimedata is transferred and the client
+receiving the drops marks it as finished.
+
+The application facing QDrag lasts until the client deletes it. We can
+get a crash if we get updates during this time.
+
+The drop event is guarded, but not the action negotiation.
+
+Fixes: QTBUG-115757
+Change-Id: Ib9c047f04d65883105d4cd3f169637d0e038a63f
+Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
+(cherry picked from commit 22daca49b807fefba58113a06b86df4274e49f62)
+Reviewed-by: David Edmundson <davidedmundson@kde.org>
+--- a/src/client/qwaylanddatadevice.cpp
++++ b/src/client/qwaylanddatadevice.cpp
+@@ -97,6 +97,9 @@ bool QWaylandDataDevice::startDrag(QMimeData *mimeData, Qt::DropActions supporte
+ connect(m_dragSource.data(), &QWaylandDataSource::cancelled, this, &QWaylandDataDevice::dragSourceCancelled);
+ connect(m_dragSource.data(), &QWaylandDataSource::dndResponseUpdated, this, [this](bool accepted, Qt::DropAction action) {
+ auto drag = static_cast<QWaylandDrag *>(QGuiApplicationPrivate::platformIntegration()->drag());
++ if (!drag->currentDrag()) {
++ return;
++ }
+ // in old versions drop action is not set, so we guess
+ if (m_dragSource->version() < 3) {
+ drag->setResponse(accepted);
diff --git a/dev-qt/qtwayland/qtwayland-6.5.2.ebuild b/dev-qt/qtwayland/qtwayland-6.5.2-r1.ebuild
similarity index 88%
rename from dev-qt/qtwayland/qtwayland-6.5.2.ebuild
rename to dev-qt/qtwayland/qtwayland-6.5.2-r1.ebuild
index 14d6b705e8ef..4fbc8c272b2c 100644
--- a/dev-qt/qtwayland/qtwayland-6.5.2.ebuild
+++ b/dev-qt/qtwayland/qtwayland-6.5.2-r1.ebuild
@@ -20,3 +20,5 @@ DEPEND="
x11-libs/libxkbcommon
"
RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-drag-drop-segfault.patch" )
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2023-11-15 19:28 Ionen Wolkens
0 siblings, 0 replies; 17+ messages in thread
From: Ionen Wolkens @ 2023-11-15 19:28 UTC (permalink / raw
To: gentoo-commits
commit: c3011ebaf74f0abf2fc68486728b98be37983961
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 15 18:00:59 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 15 19:27:58 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3011eba
dev-qt/qtwayland: drop 6.5.2-r3
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
dev-qt/qtwayland/Manifest | 1 -
.../files/qtwayland-6.5.2-drag-drop-segfault.patch | 38 ----------------
dev-qt/qtwayland/qtwayland-6.5.2-r3.ebuild | 51 ----------------------
3 files changed, 90 deletions(-)
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest
index 96e9bb4adb06..8bc9c623c179 100644
--- a/dev-qt/qtwayland/Manifest
+++ b/dev-qt/qtwayland/Manifest
@@ -1,5 +1,4 @@
DIST qtwayland-5.15.11-gentoo-kde-2.tar.xz 48072 BLAKE2B 5587a010e168df2a3303673c4af4d62908c1847dfe563af6bbfa325c38c3de09dafddc7cf3bf55d1293f22716f146f30729eacea8f839b01e3b2b3bd0ba2dcf8 SHA512 8bd205896c4e81203aac98adbf7da209138b5b9423780506910552aa6fdb23f8c5f0b18fd94e90349f94725d13325348c010482e1afddfa0832b9d4ff3feb8bc
DIST qtwayland-everywhere-opensource-src-5.15.11.tar.xz 569072 BLAKE2B 83b96ac4eb220aa924539a67b28bb20eff97256203f0c36efb0687b9266a2d0f3c69cec6648870e27431120bc1bd0eecf14dcc4f118e3d77ed78c1eb66298329 SHA512 b47a3358bc37f52dde0839940431e8049abfaa827722e6d57362b07547c35fe9fb422d28fd28c69a13f5773c24efc3eeea1e584372737a0151ed94bf4c5b9980
-DIST qtwayland-everywhere-src-6.5.2.tar.xz 1059356 BLAKE2B 4708b78ff5c8e413edaa4d4400317f58dd068273a5eef7caf1500abf8afbe4e9ac405b6854691ef93265a7eeb0cfb7406024826a0b7c7ba3f8149218af67fd48 SHA512 520d109402f1d629481029a3b1eaab740e66135db4069c34651172bb2ad821b22de60e9956a96331d2f32a4522fc52c6a4ba99b474092d755760cad08c776477
DIST qtwayland-everywhere-src-6.5.3.tar.xz 1059396 BLAKE2B f3b495e712a3eae53b0fe9abc4430414868fe8668468cadc844672b11597c348b0daa82a602f7e5d15f1ec67f5336d0d50466a64ca0d0a571401681ae02137d6 SHA512 e516dd5158ed1aadc989b3f1bbaad87fa38b59872b44c7c92ec1c349e7e923a6b07b7fb3a3493312330eaf581b0d27aeaad2ec03629523ee28e3627b7c30ea89
DIST qtwayland-everywhere-src-6.6.0.tar.xz 1125748 BLAKE2B e1024866761b1872ed762ef565cc4805e0dcea5a3319ec6d4aaf4d9e46477a0a4f1aea7b39faeb88ab10afa6b2fb5e0dd22a7864a3d18b479c87e345b34c7153 SHA512 e9cf63ccc71d4dc61b04a0f8a1a466e9ede09aa689c53c1ccc9db5233e324894bfd198c9204d8d93509c770a7a6612c8eb9981e0b3ee7428f8bf2dcbdc255109
diff --git a/dev-qt/qtwayland/files/qtwayland-6.5.2-drag-drop-segfault.patch b/dev-qt/qtwayland/files/qtwayland-6.5.2-drag-drop-segfault.patch
deleted file mode 100644
index d19522c4b8ef..000000000000
--- a/dev-qt/qtwayland/files/qtwayland-6.5.2-drag-drop-segfault.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Regression in 6.5.2 that is fixed >=6.5.3.
-https://bugreports.qt.io/browse/QTBUG-115757
-https://github.com/qutebrowser/qutebrowser/issues/7827
-
-https://github.com/qt/qtwayland/commit/02e9e0a2d4538eb2b3c26d3137228f8f501bcf7f
-From: David Edmundson <davidedmundson@kde.org>
-Date: Wed, 7 Jun 2023 22:12:15 +0100
-Subject: [PATCH] client: Fix crash on dnd updates after client facing drag
- ends
-
-A platform drag and a application-facing drag have two different
-lifespans.
-
-The platform drag lasts until all mimedata is transferred and the client
-receiving the drops marks it as finished.
-
-The application facing QDrag lasts until the client deletes it. We can
-get a crash if we get updates during this time.
-
-The drop event is guarded, but not the action negotiation.
-
-Fixes: QTBUG-115757
-Change-Id: Ib9c047f04d65883105d4cd3f169637d0e038a63f
-Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
-(cherry picked from commit 22daca49b807fefba58113a06b86df4274e49f62)
-Reviewed-by: David Edmundson <davidedmundson@kde.org>
---- a/src/client/qwaylanddatadevice.cpp
-+++ b/src/client/qwaylanddatadevice.cpp
-@@ -97,6 +97,9 @@ bool QWaylandDataDevice::startDrag(QMimeData *mimeData, Qt::DropActions supporte
- connect(m_dragSource.data(), &QWaylandDataSource::cancelled, this, &QWaylandDataDevice::dragSourceCancelled);
- connect(m_dragSource.data(), &QWaylandDataSource::dndResponseUpdated, this, [this](bool accepted, Qt::DropAction action) {
- auto drag = static_cast<QWaylandDrag *>(QGuiApplicationPrivate::platformIntegration()->drag());
-+ if (!drag->currentDrag()) {
-+ return;
-+ }
- // in old versions drop action is not set, so we guess
- if (m_dragSource->version() < 3) {
- drag->setResponse(accepted);
diff --git a/dev-qt/qtwayland/qtwayland-6.5.2-r3.ebuild b/dev-qt/qtwayland/qtwayland-6.5.2-r3.ebuild
deleted file mode 100644
index 52a6a35f0218..000000000000
--- a/dev-qt/qtwayland/qtwayland-6.5.2-r3.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit qt6-build
-
-DESCRIPTION="Wayland platform plugin for Qt"
-
-if [[ ${QT6_BUILD_TYPE} == release ]]; then
- KEYWORDS="amd64 ~arm ~arm64 ~loong ~x86"
-fi
-
-IUSE="compositor qml vulkan"
-
-RDEPEND="
- dev-libs/wayland
- ~dev-qt/qtbase-${PV}:6[egl(+),gui,opengl,vulkan=]
- media-libs/libglvnd
- x11-libs/libxkbcommon
- compositor? (
- qml? ( ~dev-qt/qtdeclarative-${PV}:6 )
- )
-"
-DEPEND="
- ${RDEPEND}
- vulkan? ( dev-util/vulkan-headers )
-"
-BDEPEND="dev-util/wayland-scanner"
-
-CMAKE_SKIP_TESTS=(
- # segfaults for not-looked-into reasons, but not considered
- # an issue given >=seatv5 exists since wayland-1.10 (2016)
- tst_seatv4
- # needs a compositor/opengl, skip the extra trouble
- tst_surface
- tst_xdgdecorationv1
-)
-
-PATCHES=(
- "${FILESDIR}"/${P}-drag-drop-segfault.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- $(cmake_use_find_package qml Qt6Quick)
- $(qt_feature compositor wayland_server)
- )
-
- qt6-build_src_configure
-}
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2024-07-16 17:55 Ionen Wolkens
0 siblings, 0 replies; 17+ messages in thread
From: Ionen Wolkens @ 2024-07-16 17:55 UTC (permalink / raw
To: gentoo-commits
commit: 3e07e0e6e22f979990f1fb81aae992e92101271d
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 16 17:41:51 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Jul 16 17:54:51 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e07e0e6
dev-qt/qtwayland: backport yet another fix for plasma
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
.../files/qtwayland-6.7.2-null-screen.patch | 29 ++++++++++++++++++++++
...d-6.7.2-r2.ebuild => qtwayland-6.7.2-r3.ebuild} | 1 +
2 files changed, 30 insertions(+)
diff --git a/dev-qt/qtwayland/files/qtwayland-6.7.2-null-screen.patch b/dev-qt/qtwayland/files/qtwayland-6.7.2-null-screen.patch
new file mode 100644
index 000000000000..6a7e85a8f4b6
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-6.7.2-null-screen.patch
@@ -0,0 +1,29 @@
+Backport of [1] for [2], will be fixed in qtwayland-6.7.3.
+
+[1] https://codereview.qt-project.org/c/qt/qtwayland/+/576718
+[2] https://bugs.kde.org/show_bug.cgi?id=489072
+
+From: David Edmundson <davidedmundson@kde.org>
+Date: Wed, 10 Jul 2024 09:00:33 +0100
+Subject: [PATCH] client: Guard against windows being on a null screen
+
+calculateScreenFromSurfaceEvents uses the screen information from our
+surface enter events. If this is not set yet, or refers to outputs not
+yet complete we fall back to the QWindow::screen. This was introduced in
+e03613524fc9f6be5c4cd7e9bdb00bc09c7f1e0b.
+
+It was assumed that this would always be a valid value as QtBase keeps
+it updated, but there are apparently paths for it to still be null.
+
+It will be evaluated again when the surface receives a wl_enter event or
+the output that we have entered is finally initialised and we will then
+be marked as on the correct screen.
+--- a/src/client/qwaylandwindow.cpp
++++ b/src/client/qwaylandwindow.cpp
+@@ -1406,5 +1406,5 @@
+ QPlatformScreen *newScreen = calculateScreenFromSurfaceEvents();
+
+- if (newScreen->screen() == window()->screen())
++ if (!newScreen || newScreen->screen() == window()->screen())
+ return;
+
diff --git a/dev-qt/qtwayland/qtwayland-6.7.2-r2.ebuild b/dev-qt/qtwayland/qtwayland-6.7.2-r3.ebuild
similarity index 97%
rename from dev-qt/qtwayland/qtwayland-6.7.2-r2.ebuild
rename to dev-qt/qtwayland/qtwayland-6.7.2-r3.ebuild
index eab3c3a8d3a5..7124b7617bf1 100644
--- a/dev-qt/qtwayland/qtwayland-6.7.2-r2.ebuild
+++ b/dev-qt/qtwayland/qtwayland-6.7.2-r3.ebuild
@@ -32,6 +32,7 @@ PATCHES=(
"${FILESDIR}"/${P}-plasma-popup.patch
"${FILESDIR}"/${P}-drag-drop.patch
"${FILESDIR}"/${P}-thread-safety.patch
+ "${FILESDIR}"/${P}-null-screen.patch
)
CMAKE_SKIP_TESTS=(
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/
@ 2024-10-08 17:46 Ionen Wolkens
0 siblings, 0 replies; 17+ messages in thread
From: Ionen Wolkens @ 2024-10-08 17:46 UTC (permalink / raw
To: gentoo-commits
commit: fb203e73179a7fd2c90c17acb4f31d039f87fa49
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 17:12:00 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 17:44:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fb203e73
dev-qt/qtwayland: backport wayland.xml update to 1.23.0
Currently only in dev branch, so add it to *9999 as well.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
.../files/qtwayland-6.7.3-wayland.xml-1.23.0.patch | 262 +++++++++++++++++++++
.../files/qtwayland-6.8.0-wayland.xml-1.23.0.patch | 262 +++++++++++++++++++++
...land-6.7.3.ebuild => qtwayland-6.7.3-r1.ebuild} | 4 +
dev-qt/qtwayland/qtwayland-6.7.9999.ebuild | 4 +
...land-6.8.0.ebuild => qtwayland-6.8.0-r1.ebuild} | 4 +
dev-qt/qtwayland/qtwayland-6.8.9999.ebuild | 4 +
6 files changed, 540 insertions(+)
diff --git a/dev-qt/qtwayland/files/qtwayland-6.7.3-wayland.xml-1.23.0.patch b/dev-qt/qtwayland/files/qtwayland-6.7.3-wayland.xml-1.23.0.patch
new file mode 100644
index 000000000000..a93132ec0936
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-6.7.3-wayland.xml-1.23.0.patch
@@ -0,0 +1,262 @@
+Not essential to backport the update, but KDE upstream recommends
+it to avoid warnings.
+
+https://codereview.qt-project.org/c/qt/qtwayland/+/574283
+--- a/src/3rdparty/protocol/wayland.xml
++++ b/src/3rdparty/protocol/wayland.xml
+@@ -49 +49 @@
+- The callback_data passed in the callback is the event serial.
++ The callback_data passed in the callback is undefined and should be ignored.
+@@ -215 +215 @@
+- <interface name="wl_shm_pool" version="1">
++ <interface name="wl_shm_pool" version="2">
+@@ -265,5 +265,5 @@
+- This request only changes the amount of bytes that are mmapped
+- by the server and does not touch the file corresponding to the
+- file descriptor passed at creation time. It is the client's
+- responsibility to ensure that the file is at least as big as
+- the new pool size.
++ This request only changes the amount of bytes that are mmapped
++ by the server and does not touch the file corresponding to the
++ file descriptor passed at creation time. It is the client's
++ responsibility to ensure that the file is at least as big as
++ the new pool size.
+@@ -275 +275 @@
+- <interface name="wl_shm" version="1">
++ <interface name="wl_shm" version="2">
+@@ -421,0 +422,15 @@
++ <entry name="c1" value="0x20203143" summary="[7:0] C0:C1:C2:C3:C4:C5:C6:C7 1:1:1:1:1:1:1:1 eight pixels/byte"/>
++ <entry name="c2" value="0x20203243" summary="[7:0] C0:C1:C2:C3 2:2:2:2 four pixels/byte"/>
++ <entry name="c4" value="0x20203443" summary="[7:0] C0:C1 4:4 two pixels/byte"/>
++ <entry name="d1" value="0x20203144" summary="[7:0] D0:D1:D2:D3:D4:D5:D6:D7 1:1:1:1:1:1:1:1 eight pixels/byte"/>
++ <entry name="d2" value="0x20203244" summary="[7:0] D0:D1:D2:D3 2:2:2:2 four pixels/byte"/>
++ <entry name="d4" value="0x20203444" summary="[7:0] D0:D1 4:4 two pixels/byte"/>
++ <entry name="d8" value="0x20203844" summary="[7:0] D"/>
++ <entry name="r1" value="0x20203152" summary="[7:0] R0:R1:R2:R3:R4:R5:R6:R7 1:1:1:1:1:1:1:1 eight pixels/byte"/>
++ <entry name="r2" value="0x20203252" summary="[7:0] R0:R1:R2:R3 2:2:2:2 four pixels/byte"/>
++ <entry name="r4" value="0x20203452" summary="[7:0] R0:R1 4:4 two pixels/byte"/>
++ <entry name="r10" value="0x20303152" summary="[15:0] x:R 6:10 little endian"/>
++ <entry name="r12" value="0x20323152" summary="[15:0] x:R 4:12 little endian"/>
++ <entry name="avuy8888" value="0x59555641" summary="[31:0] A:Cr:Cb:Y 8:8:8:8 little endian"/>
++ <entry name="xvuy8888" value="0x59555658" summary="[31:0] X:Cr:Cb:Y 8:8:8:8 little endian"/>
++ <entry name="p030" value="0x30333050" summary="2x2 subsampled Cr:Cb plane 10 bits per channel packed"/>
+@@ -444,0 +460,11 @@
++
++ <!-- Version 2 additions -->
++
++ <request name="release" type="destructor" since="2">
++ <description summary="release the shm object">
++ Using this request a client can tell the server that it is not going to
++ use the shm object anymore.
++
++ Objects created via this interface remain unaffected.
++ </description>
++ </request>
+@@ -456,3 +482,5 @@
+- If the buffer uses a format that has an alpha channel, the alpha channel
+- is assumed to be premultiplied in the color channels unless otherwise
+- specified.
++ Color channels are assumed to be electrical rather than optical (in other
++ words, encoded with a transfer function) unless otherwise specified. If
++ the buffer uses a format that has an alpha channel, the alpha channel is
++ assumed to be premultiplied into the electrical color channel values
++ (after transfer function encoding) unless otherwise specified.
+@@ -849,0 +878 @@
++ <entry name="used_source" value="1" summary="source has already been used"/>
+@@ -871 +900 @@
+- hotspot, but subsequent wl_surface.attach request can move the
++ hotspot, but subsequent wl_surface.offset requests can move the
+@@ -878,0 +908,4 @@
++
++ The given source may not be used in any further set_selection or
++ start_drag requests. Attempting to reuse a previously-used source
++ may send a used_source error.
+@@ -891,0 +925,4 @@
++
++ The given source may not be used in any further set_selection or
++ start_drag requests. Attempting to reuse a previously-used source
++ may send a used_source error.
+@@ -1414 +1451 @@
+- summary="surface was destroyed before its role object"/>
++ summary="surface was destroyed before its role object"/>
+@@ -1443,3 +1480,3 @@
+- 'invalid_offset' error being raised. The x and y arguments are ignored
+- and do not change the pending state. To achieve equivalent semantics,
+- use wl_surface.offset.
++ 'invalid_offset' error being raised. The x and y arguments are ignored
++ and do not change the pending state. To achieve equivalent semantics,
++ use wl_surface.offset.
+@@ -1481,0 +1519,7 @@
++
++ If a pending wl_buffer has been destroyed, the result is not specified.
++ Many compositors are known to remove the surface content on the following
++ wl_surface.commit, but this behaviour is not universal. Clients seeking to
++ maximise compatibility should not destroy pending buffers and should
++ ensure that they explicitly remove content from surfaces, even after
++ destroying buffers.
+@@ -1621,10 +1665,12 @@
+- as opposed to the current state in use by the compositor. A commit
+- request atomically applies all pending state, replacing the current
+- state. After commit, the new pending state is as documented for each
+- related request.
+-
+- On commit, a pending wl_buffer is applied first, and all other state
+- second. This means that all coordinates in double-buffered state are
+- relative to the new wl_buffer coming into use, except for
+- wl_surface.attach itself. If there is no pending wl_buffer, the
+- coordinates are relative to the current surface contents.
++ as opposed to the active state in use by the compositor.
++
++ A commit request atomically creates a content update from the pending
++ state, even if the pending state has not been touched. The content
++ update is placed in a queue until it becomes active. After commit, the
++ new pending state is as documented for each related request.
++
++ When the content update is applied, the wl_buffer is applied before all
++ other state. This means that all coordinates in double-buffered state
++ are relative to the newly attached wl_buffers, except for
++ wl_surface.attach itself. If there is no newly attached wl_buffer, the
++ coordinates are relative to the previous content update.
+@@ -1669,4 +1715,6 @@
+- This request sets an optional transformation on how the compositor
+- interprets the contents of the buffer attached to the surface. The
+- accepted values for the transform parameter are the values for
+- wl_output.transform.
++ This request sets the transformation that the client has already applied
++ to the content of the buffer. The accepted values for the transform
++ parameter are the values for wl_output.transform.
++
++ The compositor applies the inverse of this transformation whenever it
++ uses the buffer contents.
+@@ -1728 +1776 @@
+- If scale is not positive the invalid_scale protocol error is
++ If scale is not greater than 0 the invalid_scale protocol error is
+@@ -1732 +1780 @@
+- summary="positive scale for interpreting buffer contents"/>
++ summary="scale for interpreting buffer contents"/>
+@@ -1804,0 +1853,3 @@
++ Before receiving this event the preferred buffer scale for this surface
++ is 1.
++
+@@ -1808,0 +1860,2 @@
++
++ The compositor shall emit a scale value greater than 0.
+@@ -1818,3 +1871,6 @@
+- It is intended that transform aware clients use this event to apply the
+- transform to their content and use wl_surface.set_buffer_transform to
+- indicate the transform they have rendered with.
++ Before receiving this event the preferred buffer transform for this
++ surface is normal.
++
++ Applying this transformation to the surface buffer contents and using
++ wl_surface.set_buffer_transform might allow the compositor to use the
++ surface buffer more efficiently.
+@@ -1995 +2051 @@
+- On surface.attach requests to the pointer surface, hotspot_x
++ On wl_surface.offset requests to the pointer surface, hotspot_x
+@@ -1997 +2053 @@
+- passed to the request. Attach must be confirmed by
++ passed to the request. The offset must be applied by
+@@ -2251 +2307 @@
+- <event name="axis_discrete" since="5">
++ <event name="axis_discrete" since="5" deprecated-since="8">
+@@ -2376,0 +2433,10 @@
++
++ Each wl_keyboard has the following logical state:
++
++ - an active surface (possibly null),
++ - the keys currently logically down,
++ - the active modifiers,
++ - the active group.
++
++ By default, the active surface is null, the keys currently logically down
++ are empty, the active modifiers and the active group are 0.
+@@ -2410,0 +2477,5 @@
++
++ In the wl_keyboard logical state, this event sets the active surface to
++ the surface argument and the keys currently logically down to the keys
++ in the keys argument. The compositor must not send this event if the
++ wl_keyboard already had an active surface immediately before this event.
+@@ -2414 +2485 @@
+- <arg name="keys" type="array" summary="the currently pressed keys"/>
++ <arg name="keys" type="array" summary="the keys currently logically down"/>
+@@ -2425,2 +2496,4 @@
+- After this event client must assume that all keys, including modifiers,
+- are lifted and also it must stop key repeating if there's some going on.
++ In the wl_keyboard logical state, this event resets all values to their
++ defaults. The compositor must not send this event if the active surface
++ of the wl_keyboard was not equal to the surface argument immediately
++ before this event.
+@@ -2450,0 +2524,9 @@
++
++ In the wl_keyboard logical state, this event adds the key to the keys
++ currently logically down (if the state argument is pressed) or removes
++ the key from the keys currently logically down (if the state argument is
++ released). The compositor must not send this event if the wl_keyboard
++ did not have an active surface immediately before this event. The
++ compositor must not send this event if state is pressed (resp. released)
++ and the key was already logically down (resp. was not logically down)
++ immediately before this event.
+@@ -2461,0 +2544,11 @@
++
++ The compositor may send this event without a surface of the client
++ having keyboard focus, for example to tie modifier information to
++ pointer focus instead. If a modifier event with pressed modifiers is sent
++ without a prior enter event, the client can assume the modifier state is
++ valid until it receives the next wl_keyboard.modifiers event. In order to
++ reset the modifier state again, the compositor can send a
++ wl_keyboard.modifiers event with no pressed modifiers.
++
++ In the wl_keyboard logical state, this event updates the modifiers and
++ group.
+@@ -2568,0 +2662,2 @@
++
++ No frame event is required after the cancel event.
+@@ -2668,4 +2763,3 @@
+- <description summary="transform from framebuffer to output">
+- This describes the transform that a compositor will apply to a
+- surface to compensate for the rotation or mirroring of an
+- output device.
++ <description summary="transformation applied to buffer contents">
++ This describes transformations that clients and compositors apply to
++ buffer contents.
+@@ -2702,0 +2797,4 @@
++ Clients should use wl_surface.preferred_buffer_transform instead of the
++ transform advertised by this event to find the preferred buffer
++ transform to use for a surface.
++
+@@ -2725 +2823 @@
+- summary="transform that maps framebuffer to output"/>
++ summary="additional transformation applied to buffer contents during presentation"/>
+@@ -2798,2 +2896,3 @@
+- later. If it is not sent, the client should assume a
+- scale of 1.
++ later. The compositor will emit a non-zero, positive
++ value for scale. If it is not sent, the client should
++ assume a scale of 1.
+@@ -2807,6 +2906,3 @@
+- It is intended that scaling aware clients track the
+- current output of a surface, and if it is on a scaled
+- output it should use wl_surface.set_buffer_scale with
+- the scale of the output. That way the compositor can
+- avoid scaling the surface, and the client can supply
+- a higher detail image.
++ Clients should use wl_surface.preferred_buffer_scale
++ instead of this event to find the preferred buffer
++ scale to use for a surface.
+@@ -3037,0 +3134,5 @@
++
++ A sub-surface never has the keyboard focus of any seat.
++
++ The wl_surface.offset request is ignored: clients must use set_position
++ instead to move the sub-surface.
+@@ -3063,3 +3164 @@
+- parent surface is applied. When this happens depends on whether the
+- parent surface is in synchronized mode or not. See
+- wl_subsurface.set_sync and wl_subsurface.set_desync for details.
++ parent surface is applied.
+@@ -3088,3 +3187 @@
+- surface is applied. When this happens depends on whether the parent
+- surface is in synchronized mode or not. See wl_subsurface.set_sync and
+- wl_subsurface.set_desync for details.
++ surface is applied.
diff --git a/dev-qt/qtwayland/files/qtwayland-6.8.0-wayland.xml-1.23.0.patch b/dev-qt/qtwayland/files/qtwayland-6.8.0-wayland.xml-1.23.0.patch
new file mode 100644
index 000000000000..f259824ad3bc
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-6.8.0-wayland.xml-1.23.0.patch
@@ -0,0 +1,262 @@
+Not essential to backport the update, but KDE upstream recommends
+it to avoid warnings.
+
+https://codereview.qt-project.org/c/qt/qtwayland/+/574283
+--- a/src/3rdparty/protocol/wayland/wayland.xml
++++ b/src/3rdparty/protocol/wayland/wayland.xml
+@@ -49 +49 @@
+- The callback_data passed in the callback is the event serial.
++ The callback_data passed in the callback is undefined and should be ignored.
+@@ -215 +215 @@
+- <interface name="wl_shm_pool" version="1">
++ <interface name="wl_shm_pool" version="2">
+@@ -265,5 +265,5 @@
+- This request only changes the amount of bytes that are mmapped
+- by the server and does not touch the file corresponding to the
+- file descriptor passed at creation time. It is the client's
+- responsibility to ensure that the file is at least as big as
+- the new pool size.
++ This request only changes the amount of bytes that are mmapped
++ by the server and does not touch the file corresponding to the
++ file descriptor passed at creation time. It is the client's
++ responsibility to ensure that the file is at least as big as
++ the new pool size.
+@@ -275 +275 @@
+- <interface name="wl_shm" version="1">
++ <interface name="wl_shm" version="2">
+@@ -421,0 +422,15 @@
++ <entry name="c1" value="0x20203143" summary="[7:0] C0:C1:C2:C3:C4:C5:C6:C7 1:1:1:1:1:1:1:1 eight pixels/byte"/>
++ <entry name="c2" value="0x20203243" summary="[7:0] C0:C1:C2:C3 2:2:2:2 four pixels/byte"/>
++ <entry name="c4" value="0x20203443" summary="[7:0] C0:C1 4:4 two pixels/byte"/>
++ <entry name="d1" value="0x20203144" summary="[7:0] D0:D1:D2:D3:D4:D5:D6:D7 1:1:1:1:1:1:1:1 eight pixels/byte"/>
++ <entry name="d2" value="0x20203244" summary="[7:0] D0:D1:D2:D3 2:2:2:2 four pixels/byte"/>
++ <entry name="d4" value="0x20203444" summary="[7:0] D0:D1 4:4 two pixels/byte"/>
++ <entry name="d8" value="0x20203844" summary="[7:0] D"/>
++ <entry name="r1" value="0x20203152" summary="[7:0] R0:R1:R2:R3:R4:R5:R6:R7 1:1:1:1:1:1:1:1 eight pixels/byte"/>
++ <entry name="r2" value="0x20203252" summary="[7:0] R0:R1:R2:R3 2:2:2:2 four pixels/byte"/>
++ <entry name="r4" value="0x20203452" summary="[7:0] R0:R1 4:4 two pixels/byte"/>
++ <entry name="r10" value="0x20303152" summary="[15:0] x:R 6:10 little endian"/>
++ <entry name="r12" value="0x20323152" summary="[15:0] x:R 4:12 little endian"/>
++ <entry name="avuy8888" value="0x59555641" summary="[31:0] A:Cr:Cb:Y 8:8:8:8 little endian"/>
++ <entry name="xvuy8888" value="0x59555658" summary="[31:0] X:Cr:Cb:Y 8:8:8:8 little endian"/>
++ <entry name="p030" value="0x30333050" summary="2x2 subsampled Cr:Cb plane 10 bits per channel packed"/>
+@@ -444,0 +460,11 @@
++
++ <!-- Version 2 additions -->
++
++ <request name="release" type="destructor" since="2">
++ <description summary="release the shm object">
++ Using this request a client can tell the server that it is not going to
++ use the shm object anymore.
++
++ Objects created via this interface remain unaffected.
++ </description>
++ </request>
+@@ -456,3 +482,5 @@
+- If the buffer uses a format that has an alpha channel, the alpha channel
+- is assumed to be premultiplied in the color channels unless otherwise
+- specified.
++ Color channels are assumed to be electrical rather than optical (in other
++ words, encoded with a transfer function) unless otherwise specified. If
++ the buffer uses a format that has an alpha channel, the alpha channel is
++ assumed to be premultiplied into the electrical color channel values
++ (after transfer function encoding) unless otherwise specified.
+@@ -849,0 +878 @@
++ <entry name="used_source" value="1" summary="source has already been used"/>
+@@ -871 +900 @@
+- hotspot, but subsequent wl_surface.attach request can move the
++ hotspot, but subsequent wl_surface.offset requests can move the
+@@ -878,0 +908,4 @@
++
++ The given source may not be used in any further set_selection or
++ start_drag requests. Attempting to reuse a previously-used source
++ may send a used_source error.
+@@ -891,0 +925,4 @@
++
++ The given source may not be used in any further set_selection or
++ start_drag requests. Attempting to reuse a previously-used source
++ may send a used_source error.
+@@ -1414 +1451 @@
+- summary="surface was destroyed before its role object"/>
++ summary="surface was destroyed before its role object"/>
+@@ -1443,3 +1480,3 @@
+- 'invalid_offset' error being raised. The x and y arguments are ignored
+- and do not change the pending state. To achieve equivalent semantics,
+- use wl_surface.offset.
++ 'invalid_offset' error being raised. The x and y arguments are ignored
++ and do not change the pending state. To achieve equivalent semantics,
++ use wl_surface.offset.
+@@ -1481,0 +1519,7 @@
++
++ If a pending wl_buffer has been destroyed, the result is not specified.
++ Many compositors are known to remove the surface content on the following
++ wl_surface.commit, but this behaviour is not universal. Clients seeking to
++ maximise compatibility should not destroy pending buffers and should
++ ensure that they explicitly remove content from surfaces, even after
++ destroying buffers.
+@@ -1621,10 +1665,12 @@
+- as opposed to the current state in use by the compositor. A commit
+- request atomically applies all pending state, replacing the current
+- state. After commit, the new pending state is as documented for each
+- related request.
+-
+- On commit, a pending wl_buffer is applied first, and all other state
+- second. This means that all coordinates in double-buffered state are
+- relative to the new wl_buffer coming into use, except for
+- wl_surface.attach itself. If there is no pending wl_buffer, the
+- coordinates are relative to the current surface contents.
++ as opposed to the active state in use by the compositor.
++
++ A commit request atomically creates a content update from the pending
++ state, even if the pending state has not been touched. The content
++ update is placed in a queue until it becomes active. After commit, the
++ new pending state is as documented for each related request.
++
++ When the content update is applied, the wl_buffer is applied before all
++ other state. This means that all coordinates in double-buffered state
++ are relative to the newly attached wl_buffers, except for
++ wl_surface.attach itself. If there is no newly attached wl_buffer, the
++ coordinates are relative to the previous content update.
+@@ -1669,4 +1715,6 @@
+- This request sets an optional transformation on how the compositor
+- interprets the contents of the buffer attached to the surface. The
+- accepted values for the transform parameter are the values for
+- wl_output.transform.
++ This request sets the transformation that the client has already applied
++ to the content of the buffer. The accepted values for the transform
++ parameter are the values for wl_output.transform.
++
++ The compositor applies the inverse of this transformation whenever it
++ uses the buffer contents.
+@@ -1728 +1776 @@
+- If scale is not positive the invalid_scale protocol error is
++ If scale is not greater than 0 the invalid_scale protocol error is
+@@ -1732 +1780 @@
+- summary="positive scale for interpreting buffer contents"/>
++ summary="scale for interpreting buffer contents"/>
+@@ -1804,0 +1853,3 @@
++ Before receiving this event the preferred buffer scale for this surface
++ is 1.
++
+@@ -1808,0 +1860,2 @@
++
++ The compositor shall emit a scale value greater than 0.
+@@ -1818,3 +1871,6 @@
+- It is intended that transform aware clients use this event to apply the
+- transform to their content and use wl_surface.set_buffer_transform to
+- indicate the transform they have rendered with.
++ Before receiving this event the preferred buffer transform for this
++ surface is normal.
++
++ Applying this transformation to the surface buffer contents and using
++ wl_surface.set_buffer_transform might allow the compositor to use the
++ surface buffer more efficiently.
+@@ -1995 +2051 @@
+- On surface.attach requests to the pointer surface, hotspot_x
++ On wl_surface.offset requests to the pointer surface, hotspot_x
+@@ -1997 +2053 @@
+- passed to the request. Attach must be confirmed by
++ passed to the request. The offset must be applied by
+@@ -2251 +2307 @@
+- <event name="axis_discrete" since="5">
++ <event name="axis_discrete" since="5" deprecated-since="8">
+@@ -2376,0 +2433,10 @@
++
++ Each wl_keyboard has the following logical state:
++
++ - an active surface (possibly null),
++ - the keys currently logically down,
++ - the active modifiers,
++ - the active group.
++
++ By default, the active surface is null, the keys currently logically down
++ are empty, the active modifiers and the active group are 0.
+@@ -2410,0 +2477,5 @@
++
++ In the wl_keyboard logical state, this event sets the active surface to
++ the surface argument and the keys currently logically down to the keys
++ in the keys argument. The compositor must not send this event if the
++ wl_keyboard already had an active surface immediately before this event.
+@@ -2414 +2485 @@
+- <arg name="keys" type="array" summary="the currently pressed keys"/>
++ <arg name="keys" type="array" summary="the keys currently logically down"/>
+@@ -2425,2 +2496,4 @@
+- After this event client must assume that all keys, including modifiers,
+- are lifted and also it must stop key repeating if there's some going on.
++ In the wl_keyboard logical state, this event resets all values to their
++ defaults. The compositor must not send this event if the active surface
++ of the wl_keyboard was not equal to the surface argument immediately
++ before this event.
+@@ -2450,0 +2524,9 @@
++
++ In the wl_keyboard logical state, this event adds the key to the keys
++ currently logically down (if the state argument is pressed) or removes
++ the key from the keys currently logically down (if the state argument is
++ released). The compositor must not send this event if the wl_keyboard
++ did not have an active surface immediately before this event. The
++ compositor must not send this event if state is pressed (resp. released)
++ and the key was already logically down (resp. was not logically down)
++ immediately before this event.
+@@ -2461,0 +2544,11 @@
++
++ The compositor may send this event without a surface of the client
++ having keyboard focus, for example to tie modifier information to
++ pointer focus instead. If a modifier event with pressed modifiers is sent
++ without a prior enter event, the client can assume the modifier state is
++ valid until it receives the next wl_keyboard.modifiers event. In order to
++ reset the modifier state again, the compositor can send a
++ wl_keyboard.modifiers event with no pressed modifiers.
++
++ In the wl_keyboard logical state, this event updates the modifiers and
++ group.
+@@ -2568,0 +2662,2 @@
++
++ No frame event is required after the cancel event.
+@@ -2668,4 +2763,3 @@
+- <description summary="transform from framebuffer to output">
+- This describes the transform that a compositor will apply to a
+- surface to compensate for the rotation or mirroring of an
+- output device.
++ <description summary="transformation applied to buffer contents">
++ This describes transformations that clients and compositors apply to
++ buffer contents.
+@@ -2702,0 +2797,4 @@
++ Clients should use wl_surface.preferred_buffer_transform instead of the
++ transform advertised by this event to find the preferred buffer
++ transform to use for a surface.
++
+@@ -2725 +2823 @@
+- summary="transform that maps framebuffer to output"/>
++ summary="additional transformation applied to buffer contents during presentation"/>
+@@ -2798,2 +2896,3 @@
+- later. If it is not sent, the client should assume a
+- scale of 1.
++ later. The compositor will emit a non-zero, positive
++ value for scale. If it is not sent, the client should
++ assume a scale of 1.
+@@ -2807,6 +2906,3 @@
+- It is intended that scaling aware clients track the
+- current output of a surface, and if it is on a scaled
+- output it should use wl_surface.set_buffer_scale with
+- the scale of the output. That way the compositor can
+- avoid scaling the surface, and the client can supply
+- a higher detail image.
++ Clients should use wl_surface.preferred_buffer_scale
++ instead of this event to find the preferred buffer
++ scale to use for a surface.
+@@ -3037,0 +3134,5 @@
++
++ A sub-surface never has the keyboard focus of any seat.
++
++ The wl_surface.offset request is ignored: clients must use set_position
++ instead to move the sub-surface.
+@@ -3063,3 +3164 @@
+- parent surface is applied. When this happens depends on whether the
+- parent surface is in synchronized mode or not. See
+- wl_subsurface.set_sync and wl_subsurface.set_desync for details.
++ parent surface is applied.
+@@ -3088,3 +3187 @@
+- surface is applied. When this happens depends on whether the parent
+- surface is in synchronized mode or not. See wl_subsurface.set_sync and
+- wl_subsurface.set_desync for details.
++ surface is applied.
diff --git a/dev-qt/qtwayland/qtwayland-6.7.3.ebuild b/dev-qt/qtwayland/qtwayland-6.7.3-r1.ebuild
similarity index 95%
rename from dev-qt/qtwayland/qtwayland-6.7.3.ebuild
rename to dev-qt/qtwayland/qtwayland-6.7.3-r1.ebuild
index 11f94d7bd709..635ccf3a4a9c 100644
--- a/dev-qt/qtwayland/qtwayland-6.7.3.ebuild
+++ b/dev-qt/qtwayland/qtwayland-6.7.3-r1.ebuild
@@ -43,6 +43,10 @@ CMAKE_SKIP_TESTS=(
tst_scaling
)
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.7.3-wayland.xml-1.23.0.patch
+)
+
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package qml Qt6Quick)
diff --git a/dev-qt/qtwayland/qtwayland-6.7.9999.ebuild b/dev-qt/qtwayland/qtwayland-6.7.9999.ebuild
index 11f94d7bd709..635ccf3a4a9c 100644
--- a/dev-qt/qtwayland/qtwayland-6.7.9999.ebuild
+++ b/dev-qt/qtwayland/qtwayland-6.7.9999.ebuild
@@ -43,6 +43,10 @@ CMAKE_SKIP_TESTS=(
tst_scaling
)
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.7.3-wayland.xml-1.23.0.patch
+)
+
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package qml Qt6Quick)
diff --git a/dev-qt/qtwayland/qtwayland-6.8.0.ebuild b/dev-qt/qtwayland/qtwayland-6.8.0-r1.ebuild
similarity index 96%
rename from dev-qt/qtwayland/qtwayland-6.8.0.ebuild
rename to dev-qt/qtwayland/qtwayland-6.8.0-r1.ebuild
index cb3c8f5542c4..bbe6f62bd9f9 100644
--- a/dev-qt/qtwayland/qtwayland-6.8.0.ebuild
+++ b/dev-qt/qtwayland/qtwayland-6.8.0-r1.ebuild
@@ -47,6 +47,10 @@ CMAKE_SKIP_TESTS=(
tst_scaling
)
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.8.0-wayland.xml-1.23.0.patch
+)
+
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package qml Qt6Quick)
diff --git a/dev-qt/qtwayland/qtwayland-6.8.9999.ebuild b/dev-qt/qtwayland/qtwayland-6.8.9999.ebuild
index cb3c8f5542c4..bbe6f62bd9f9 100644
--- a/dev-qt/qtwayland/qtwayland-6.8.9999.ebuild
+++ b/dev-qt/qtwayland/qtwayland-6.8.9999.ebuild
@@ -47,6 +47,10 @@ CMAKE_SKIP_TESTS=(
tst_scaling
)
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.8.0-wayland.xml-1.23.0.patch
+)
+
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package qml Qt6Quick)
^ permalink raw reply related [flat|nested] 17+ messages in thread
end of thread, other threads:[~2024-10-08 17:46 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-08 20:22 [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/ Andreas Sturmlechner
-- strict thread matches above, loose matches on Subject: below --
2024-10-08 17:46 Ionen Wolkens
2024-07-16 17:55 Ionen Wolkens
2023-11-15 19:28 Ionen Wolkens
2023-08-17 23:21 Ionen Wolkens
2023-08-16 16:31 Andreas Sturmlechner
2023-06-13 11:42 Andreas Sturmlechner
2023-03-09 15:02 Andreas Sturmlechner
2023-03-08 11:07 Andreas Sturmlechner
2022-04-17 19:29 Sam James
2022-03-21 11:27 Andreas Sturmlechner
2022-03-21 11:04 Andreas Sturmlechner
2022-01-22 12:20 Andreas Sturmlechner
2021-12-10 13:19 Andreas Sturmlechner
2021-01-07 16:31 Andreas Sturmlechner
2019-12-18 15:41 Andreas Sturmlechner
2019-11-20 21:21 Andreas Sturmlechner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox