summaryrefslogtreecommitdiff
path: root/dev-qt/qtwayland
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-02-27 19:26:40 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-02-27 19:26:40 +0000
commit4418da21bd05d610a3450f4aa75481785ca372a0 (patch)
tree05975a5e68e88b64b58ed4f9c416e36cd4dbff4e /dev-qt/qtwayland
parentacfd7c956a7b45da7af1452ec12e0b2d5e6ac65b (diff)
gentoo auto-resync : 27:02:2025 - 19:26:39
Diffstat (limited to 'dev-qt/qtwayland')
-rw-r--r--dev-qt/qtwayland/Manifest4
-rw-r--r--dev-qt/qtwayland/files/qtwayland-6.8.1-tablet-crash.patch201
-rw-r--r--dev-qt/qtwayland/files/qtwayland-6.8.2-QTBUG-127821.patch19
-rw-r--r--dev-qt/qtwayland/qtwayland-6.8.2-r1.ebuild (renamed from dev-qt/qtwayland/qtwayland-6.8.2.ebuild)1
4 files changed, 22 insertions, 203 deletions
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest
index 580897426f29..965dd640ece4 100644
--- a/dev-qt/qtwayland/Manifest
+++ b/dev-qt/qtwayland/Manifest
@@ -1,10 +1,10 @@
AUX qtwayland-6.8.0-wayland.xml-1.23.0.patch 13031 BLAKE2B 4cdee104ec7ba05ddff6cc8f1afda24276eb9fbb0f3b2f0abacb3da57fe3e210dfa6f3d836ff45535d5ff53473fdc55876ef27138d80d8978cc39e8e85d32347 SHA512 621dc44b1577abbece55242f872edb8c6f7e29da8bebd3a9f7f62c2877cca558a35d68738bc6662ff5303e5773cec7dc3a9a073530c0bfebc7799febd338a70f
-AUX qtwayland-6.8.1-tablet-crash.patch 5790 BLAKE2B a117bde4b957c122a7840f26a84d0c14ea822d99a8c51626fe1852f025725ac174ac52598b8ff759d04cc3c0250329b93abc3e79581f407c4c7cc7f8b6339ccb SHA512 01e20f250caf9f568664eeef33496528622197782909e10d42684fadd6aeef638fb3af937b49b550c08b80cbad77b710efbfc653f855881db5c60a06218724e3
+AUX qtwayland-6.8.2-QTBUG-127821.patch 1217 BLAKE2B e03d7bef441a62fe13ec7e8ebd9d61b5de205f5e26fa439424b3681b19dde257c313b8c5efb631fc7bbcf73f169cfa7da32b52b7b1965161657ac66a4e83cffd SHA512 94cfc6016d2bbba2204be8bc458165e0073c7a260e53587ac456948413067f39b0f4a622a70e05008ecb3f669432dc534b3c115d2cf7c0485f7f920240f064b4
DIST qtwayland-5.15.16-gentoo-kde-2.tar.xz 47116 BLAKE2B 30646c02214167b1891b84873f7d10812d3aa1894db1a246771a2df2a799d1768c857a623153d862e15f6a7ed7b784738c8afdc5f4968e57a7e2296735d69876 SHA512 c3af344eb647fb16f1237387345ee4e56e2efa7376f10d46d09de34c77add092cb50acf29d180fa61ab33331fee959ab187339b05b6fa0b9d4fda6f0c28b600b
DIST qtwayland-everywhere-opensource-src-5.15.16.tar.xz 561148 BLAKE2B a095051245e0ba0f0a27c7da703628e67b30465e12de06c1662dea3a3d74163cc67baa004f0cbab01bf5b70c6d2bdea289278859b2713a00f595cc51bb6f654a SHA512 9ce2bca54aa0e17be17383fccd6caca721db5b54f8905ec86cf871ed0e2414e6bc86878b9cc5167c322153467076b2afdcd6163a8fb2feb6b19cef11c3a29247
DIST qtwayland-everywhere-src-6.8.2.tar.xz 1138764 BLAKE2B a2311698c23d00e81dff3b2e7140dc5cd2c2006c713d2e777fc032a407ca393914f0a68a92d1c7e3ccdb668d498fa10a67d61e4419eb341705678b843149ec89 SHA512 b11a2a9189939b9deb000d6dc517242290fbba228e4a0bb2c5097c20aac79431b1398d940ed145a9fd308ae73605dd7df6cf89643de92c158b7ae92a948db954
EBUILD qtwayland-5.15.16-r1.ebuild 1207 BLAKE2B 984349f38fe3cce37edf077459ab1a3af3ab381e9be6bb91b965ecf6e6d33013a657f3f5024ffaa480b3ffe585d3b7629dad20d7c9b7695dc2f5204a5db44f2b SHA512 77487a3aa80dc44531f24078df7f45705ec43264d2ff02e4e5be4236f7601a4215e1fbbe4e4d264df83e76d4b209e1969b56c309e7afd7e901ea130bea8d93d9
-EBUILD qtwayland-6.8.2.ebuild 1704 BLAKE2B ba4626acef6053076f75133681f178a6ce4545a185b13458566425cdd03cad30c2d6edfac43b9e91cbd983a38ab0f295b7a6054184d95691498402929e6033d0 SHA512 b39eae0f0b6460bfe0626e81891fbc9bf72c3476462105eb131a98412e7a65bcbc8cc51a089bae41ce83408f4d2f13898292672404e9847f700899ca653db100
+EBUILD qtwayland-6.8.2-r1.ebuild 1750 BLAKE2B 9e0bb35a13e519456cc74366ee3e7631e891e04d7bcb1b83a7e841242c6a1766a62f1ccc50dd10016c11fb4c77fa03e68d54b5fd172983f919f70a392ce16c6b SHA512 3afd76d0d9c7c8ae7043ce3f55c37f3a44581e65951107afbb4c068ed4a7e371bae7b1cbae8ac95128fdd8ad36d2f1ae6b358b61e4ace2de4ddb39cf15a95270
EBUILD qtwayland-6.8.9999.ebuild 1710 BLAKE2B 2e7298c4da6e4b34e648a1faffda3c07de7b5a3b5344a44cdf0fbbcddba233b2e50d3d58cf5fdd47bae2802e20b409e2447b7b85ed6a9608f9dc85cfb60d259d SHA512 901d80e4c4468eea255adaf394e697e9dfe0ab957174c980b1eddc6a2d7490d995b934cce9799cec1a251dbee24cba147150ddf466c092006c7652b4d3d78e68
EBUILD qtwayland-6.9.9999.ebuild 1645 BLAKE2B 46c867b24c3cd70d3d366bbdb907f34a05abd34f2f66dadab2acef6032bf2072793848bc45404b8711773e42f212bbb3a37d1330d16850fc7b213ddc7303f0d4 SHA512 8c8911fca164e71e6ce7d569280cbbbaa6be669f03798e0b6a57b9b3a962c3203bd3803dd7f4b8d5f8df64ede1617230481b151dbeef8deb3d00125804295830
EBUILD qtwayland-6.9999.ebuild 1645 BLAKE2B 46c867b24c3cd70d3d366bbdb907f34a05abd34f2f66dadab2acef6032bf2072793848bc45404b8711773e42f212bbb3a37d1330d16850fc7b213ddc7303f0d4 SHA512 8c8911fca164e71e6ce7d569280cbbbaa6be669f03798e0b6a57b9b3a962c3203bd3803dd7f4b8d5f8df64ede1617230481b151dbeef8deb3d00125804295830
diff --git a/dev-qt/qtwayland/files/qtwayland-6.8.1-tablet-crash.patch b/dev-qt/qtwayland/files/qtwayland-6.8.1-tablet-crash.patch
deleted file mode 100644
index 8d2a5c89dd4c..000000000000
--- a/dev-qt/qtwayland/files/qtwayland-6.8.1-tablet-crash.patch
+++ /dev/null
@@ -1,201 +0,0 @@
-Recommended backport of [1] by the kde community[2] to avoid several crashes
-when unplugging a tablet (missed the 6.8.1 window, will be in 6.8.2).
-
-[1] https://github.com/qt/qtwayland/commit/24002ac6cbd01dbde4944b63c1f7c87ed2bd72b5
-[2] https://mail.kde.org/pipermail/distributions/2024-November/001550.html
---- a/src/client/qwaylandtabletv2.cpp
-+++ b/src/client/qwaylandtabletv2.cpp
-@@ -188,10 +188,4 @@
- QWaylandTabletSeatV2::~QWaylandTabletSeatV2()
- {
-- for (auto *tablet : m_tablets)
-- tablet->destroy();
-- for (auto *tool : m_tools)
-- tool->destroy();
-- for (auto *pad : m_pads)
-- pad->destroy();
- qDeleteAll(m_tablets);
- qDeleteAll(m_tools);
-@@ -255,4 +249,9 @@
- }
-
-+QWaylandTabletV2::~QWaylandTabletV2()
-+{
-+ destroy();
-+}
-+
- void QWaylandTabletV2::zwp_tablet_v2_name(const QString &name)
- {
-@@ -293,5 +292,4 @@
- void QWaylandTabletV2::zwp_tablet_v2_removed()
- {
-- destroy();
- deleteLater();
- }
-@@ -317,5 +315,8 @@
- }
-
--QWaylandTabletToolV2::~QWaylandTabletToolV2() = default;
-+QWaylandTabletToolV2::~QWaylandTabletToolV2()
-+{
-+ destroy();
-+}
-
- void QWaylandTabletToolV2::zwp_tablet_tool_v2_type(uint32_t tool_type)
-@@ -411,5 +412,4 @@
- void QWaylandTabletToolV2::zwp_tablet_tool_v2_removed()
- {
-- destroy();
- m_tabletSeat->toolRemoved(this);
- }
-@@ -603,4 +603,9 @@
- }
-
-+QWaylandTabletPadV2::~QWaylandTabletPadV2()
-+{
-+ destroy();
-+}
-+
- void QWaylandTabletPadV2::zwp_tablet_pad_v2_path(const QString &path)
- {
-@@ -622,5 +627,4 @@
- void QWaylandTabletPadV2::zwp_tablet_pad_v2_removed()
- {
-- destroy();
- delete this;
- }
---- a/src/client/qwaylandtabletv2_p.h
-+++ b/src/client/qwaylandtabletv2_p.h
-@@ -84,4 +84,5 @@
- public:
- explicit QWaylandTabletV2(::zwp_tablet_v2 *tablet, const QString &seatName);
-+ ~QWaylandTabletV2();
-
- protected:
-@@ -99,5 +100,5 @@
- public:
- QWaylandTabletToolV2(QWaylandTabletSeatV2 *tabletSeat, ::zwp_tablet_tool_v2 *tool);
-- ~QWaylandTabletToolV2() override;
-+ ~QWaylandTabletToolV2();
-
- void updateCursor();
-@@ -182,4 +183,5 @@
- public:
- explicit QWaylandTabletPadV2(::zwp_tablet_pad_v2 *pad);
-+ ~QWaylandTabletPadV2();
-
- protected:
---- a/tests/auto/client/tabletv2/tst_tabletv2.cpp
-+++ b/tests/auto/client/tabletv2/tst_tabletv2.cpp
-@@ -187,7 +187,7 @@
- QList<TabletV2 *> m_tabletsWaitingForDestroy;
- QList<TabletToolV2 *> m_tools;
-- QList<TabletToolV2 *> m_toolsWaitingForDestroy;
-+ QList<TabletToolV2::Resource *> m_toolsWaitingForDestroy;
- QList<TabletPadV2 *> m_pads;
-- QList<TabletPadV2 *> m_padsWaitingForDestroy;
-+ QList<TabletPadV2::Resource *> m_padsWaitingForDestroy;
-
- protected:
-@@ -275,9 +275,10 @@
- void TabletToolV2::sendRemoved()
- {
-- for (auto *resource : resourceMap())
-+ for (auto *resource : resourceMap()) {
- zwp_tablet_tool_v2_send_removed(resource->handle);
-+ m_tabletSeat->m_toolsWaitingForDestroy.append(resource);
-+ }
- bool removed = m_tabletSeat->m_tools.removeOne(this);
- QVERIFY(removed);
-- m_tabletSeat->m_toolsWaitingForDestroy.append(this);
- }
-
-@@ -334,6 +335,5 @@
- {
- if (m_tabletSeat) {
-- bool removed = m_tabletSeat->m_toolsWaitingForDestroy.removeOne(this);
-- QVERIFY(removed);
-+ m_tabletSeat->m_toolsWaitingForDestroy.removeOne(resource);
- }
- wl_resource_destroy(resource->handle);
-@@ -342,9 +342,10 @@
- void TabletPadV2::sendRemoved()
- {
-- for (auto *resource : resourceMap())
-+ for (auto *resource : resourceMap()) {
- zwp_tablet_pad_v2_send_removed(resource->handle);
-+ m_tabletSeat->m_padsWaitingForDestroy.append(resource);
-+ }
- bool removed = m_tabletSeat->m_pads.removeOne(this);
- QVERIFY(removed);
-- m_tabletSeat->m_padsWaitingForDestroy.append(this);
- }
-
-@@ -352,6 +353,5 @@
- {
- if (m_tabletSeat) {
-- bool removed = m_tabletSeat->m_padsWaitingForDestroy.removeOne(this);
-- QVERIFY(removed);
-+ m_tabletSeat->m_padsWaitingForDestroy.removeOne(resource);
- }
- wl_resource_destroy(resource->handle);
-@@ -406,4 +406,6 @@
- void destroysTool();
- void destroysPad();
-+ void removeTabletBeforeTool();
-+ void removeTabletBeforePad();
- void proximityEvents();
- void moveEvent();
-@@ -503,4 +505,5 @@
- QCOMPOSITOR_TRY_VERIFY(tabletSeat());
- exec([&] {
-+ tabletSeat()->addTablet();
- tabletSeat()->addTool();
- });
-@@ -509,4 +512,5 @@
- exec([&] {
- tabletTool()->sendRemoved();
-+ tablet()->sendRemoved();
- });
-
-@@ -529,4 +533,40 @@
- QCOMPOSITOR_TRY_VERIFY(!tabletPad());
- QCOMPOSITOR_TRY_VERIFY(tabletSeat()->m_padsWaitingForDestroy.empty());
-+}
-+
-+void tst_tabletv2::removeTabletBeforeTool()
-+{
-+ QCOMPOSITOR_TRY_VERIFY(tabletSeat());
-+ exec([&] {
-+ tabletSeat()->addTablet();
-+ tabletSeat()->addTool();
-+ });
-+ QCOMPOSITOR_TRY_VERIFY(tablet());
-+ QCOMPOSITOR_TRY_VERIFY(tabletTool());
-+
-+ exec([&] { tablet()->sendRemoved(); });
-+ QCOMPOSITOR_TRY_VERIFY(tabletSeat()->m_tabletsWaitingForDestroy.empty());
-+
-+ exec([&] { tabletTool()->sendRemoved(); });
-+ QCOMPOSITOR_TRY_VERIFY(!tabletTool());
-+ QCOMPOSITOR_TRY_VERIFY(tabletSeat()->m_toolsWaitingForDestroy.empty());
-+}
-+
-+void tst_tabletv2::removeTabletBeforePad()
-+{
-+ QCOMPOSITOR_TRY_VERIFY(tabletSeat());
-+ exec([&] {
-+ tabletSeat()->addTablet();
-+ tabletSeat()->addPad();
-+ });
-+ QCOMPOSITOR_TRY_VERIFY(tablet());
-+ QCOMPOSITOR_TRY_VERIFY(tabletPad());
-+
-+ exec([&] { tablet()->sendRemoved(); });
-+ QCOMPOSITOR_TRY_VERIFY(tabletSeat()->m_tabletsWaitingForDestroy.empty());
-+
-+ exec([&] { tabletPad()->sendRemoved(); });
-+ QCOMPOSITOR_TRY_VERIFY(!tabletPad());
-+ QCOMPOSITOR_TRY_VERIFY(tabletSeat()->m_padsWaitingForDestroy.empty());
- }
-
diff --git a/dev-qt/qtwayland/files/qtwayland-6.8.2-QTBUG-127821.patch b/dev-qt/qtwayland/files/qtwayland-6.8.2-QTBUG-127821.patch
new file mode 100644
index 000000000000..1498ada95622
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-6.8.2-QTBUG-127821.patch
@@ -0,0 +1,19 @@
+https://bugreports.qt.io/browse/QTBUG-127821
+https://codereview.qt-project.org/c/qt/qtwayland/+/623667
+--- a/src/client/qwaylandinputdevice.cpp
++++ b/src/client/qwaylandinputdevice.cpp
+@@ -1140,8 +1140,10 @@
+ // If the window has been destroyed, we still need to report an up event, but it can't
+ // be handled by the destroyed window (obviously), so send the event here instead.
+- QWindowSystemInterface::handleMouseEvent(nullptr, event->timestamp, event->local,
+- event->global, event->buttons,
+- event->button, event->type,
+- event->modifiers);// , Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
++ QWindowSystemInterface::handleMouseEvent(
++ nullptr, event->timestamp,
++ QPointingDevice::primaryPointingDevice(mParent->seatname()), event->local,
++ event->global, event->buttons, event->button, event->type,
++ event->modifiers); // , Qt::MouseEventSource source =
++ // Qt::MouseEventNotSynthesized);
+ }
+ delete mFrameData.event;
diff --git a/dev-qt/qtwayland/qtwayland-6.8.2.ebuild b/dev-qt/qtwayland/qtwayland-6.8.2-r1.ebuild
index 689cea35b06d..a6163825eb35 100644
--- a/dev-qt/qtwayland/qtwayland-6.8.2.ebuild
+++ b/dev-qt/qtwayland/qtwayland-6.8.2-r1.ebuild
@@ -49,6 +49,7 @@ CMAKE_SKIP_TESTS=(
PATCHES=(
"${FILESDIR}"/${PN}-6.8.0-wayland.xml-1.23.0.patch
+ "${FILESDIR}"/${PN}-6.8.2-QTBUG-127821.patch
)
src_configure() {