[neon/qt6/qt6-wayland/Neon/release] debian/patches: drop patch for 6.8.1 version

Carlos De Maine null at kde.org
Sat Dec 7 09:16:58 GMT 2024


Git commit 6fddc2aa172726fa9d2940ced4eb4ee6284cd588 by Carlos De Maine.
Committed on 07/12/2024 at 09:16.
Pushed by carlosdem into branch 'Neon/release'.

drop patch for 6.8.1 version

D  +0    -262  debian/patches/0001-client-Redo-management-of-tablet-object-proxies.patch
M  +1    -2    debian/patches/series

https://invent.kde.org/neon/qt6/qt6-wayland/-/commit/6fddc2aa172726fa9d2940ced4eb4ee6284cd588

diff --git a/debian/patches/0001-client-Redo-management-of-tablet-object-proxies.patch b/debian/patches/0001-client-Redo-management-of-tablet-object-proxies.patch
deleted file mode 100644
index 69b42ef..0000000
--- a/debian/patches/0001-client-Redo-management-of-tablet-object-proxies.patch
+++ /dev/null
@@ -1,262 +0,0 @@
-From 807c4504b6e8ccedcef907e6fd30946c4c23618c Mon Sep 17 00:00:00 2001
-From: David Redondo <qt at david-redondo.de>
-Date: Fri, 22 Nov 2024 10:56:41 +0100
-Subject: [PATCH] client: Redo management of tablet object proxies
-
-Since 5af836aea3bb91a9f388e565415dc33b2fde4577 tools and pads can sometimes
-be parented to tablets. When a tablet is unplugged sometimes the remove
-event for the tablet can be sent before the remove events for the pad.
-Deleting the tablet will also delete the pad but not the pad proxy,
-resulting in a crash when the pad remove event is received.
-This moves destruction of the wayland proxies which makes everything much
-simpler as not every location that deletes those objects needs to call
-destroy and fixes the described problem.
-
-Change-Id: I0aaeda3d3996251e411229b5e97aa1ce0bce43ac
-Reviewed-by: David Edmundson <davidedmundson at kde.org>
-(cherry picked from commit 1f76835d1805d9b1c25c136a19c1101f19cc2259)
-Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot at qt-project.org>
----
- src/client/qwaylandtabletv2.cpp             | 24 +++++----
- src/client/qwaylandtabletv2_p.h             |  3 ++
- tests/auto/client/tabletv2/tst_tabletv2.cpp | 60 +++++++++++++++++----
- 3 files changed, 68 insertions(+), 19 deletions(-)
-
-diff --git a/src/client/qwaylandtabletv2.cpp b/src/client/qwaylandtabletv2.cpp
-index 1a05eb8b..a85dd87e 100644
---- a/src/client/qwaylandtabletv2.cpp
-+++ b/src/client/qwaylandtabletv2.cpp
-@@ -36,12 +36,6 @@ QWaylandTabletSeatV2::QWaylandTabletSeatV2(QWaylandTabletManagerV2 *manager, QWa
- 
- 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);
-     qDeleteAll(m_deadTools);
-@@ -103,6 +97,11 @@ QWaylandTabletV2::QWaylandTabletV2(::zwp_tablet_v2 *tablet, const QString &seatN
-     d->seatName = seatName;
- }
- 
-+QWaylandTabletV2::~QWaylandTabletV2()
-+{
-+    destroy();
-+}
-+
- void QWaylandTabletV2::zwp_tablet_v2_name(const QString &name)
- {
-     QPointingDevicePrivate *d = QPointingDevicePrivate::get(this);
-@@ -135,7 +134,6 @@ void QWaylandTabletSeatV2::toolRemoved(QWaylandTabletToolV2 *tool)
- 
- void QWaylandTabletV2::zwp_tablet_v2_removed()
- {
--    destroy();
-     deleteLater();
- }
- 
-@@ -149,6 +147,11 @@ QWaylandTabletToolV2::QWaylandTabletToolV2(QWaylandTabletSeatV2 *tabletSeat, ::z
-     // TODO get the number of buttons somehow?
- }
- 
-+QWaylandTabletToolV2::~QWaylandTabletToolV2()
-+{
-+    destroy();
-+}
-+
- void QWaylandTabletToolV2::zwp_tablet_tool_v2_type(uint32_t tool_type)
- {
-     QPointingDevicePrivate *d = QPointingDevicePrivate::get(this);
-@@ -241,7 +244,6 @@ void QWaylandTabletToolV2::zwp_tablet_tool_v2_done()
- 
- void QWaylandTabletToolV2::zwp_tablet_tool_v2_removed()
- {
--    destroy();
-     m_tabletSeat->toolRemoved(this);
- }
- 
-@@ -427,6 +429,11 @@ QWaylandTabletPadV2::QWaylandTabletPadV2(::zwp_tablet_pad_v2 *pad)
- {
- }
- 
-+QWaylandTabletPadV2::~QWaylandTabletPadV2()
-+{
-+    destroy();
-+}
-+
- void QWaylandTabletPadV2::zwp_tablet_pad_v2_path(const QString &path)
- {
-     QPointingDevicePrivate *d = QPointingDevicePrivate::get(this);
-@@ -446,7 +453,6 @@ void QWaylandTabletPadV2::zwp_tablet_pad_v2_done()
- 
- void QWaylandTabletPadV2::zwp_tablet_pad_v2_removed()
- {
--    destroy();
-     delete this;
- }
- 
-diff --git a/src/client/qwaylandtabletv2_p.h b/src/client/qwaylandtabletv2_p.h
-index b101826e..a4794b08 100644
---- a/src/client/qwaylandtabletv2_p.h
-+++ b/src/client/qwaylandtabletv2_p.h
-@@ -74,6 +74,7 @@ class Q_WAYLANDCLIENT_EXPORT QWaylandTabletV2 : public QPointingDevice, public Q
-     Q_OBJECT
- public:
-     explicit QWaylandTabletV2(::zwp_tablet_v2 *tablet, const QString &seatName);
-+    ~QWaylandTabletV2();
- 
- protected:
-     // callbacks which act as setters
-@@ -89,6 +90,7 @@ class Q_WAYLANDCLIENT_EXPORT QWaylandTabletToolV2 : public QPointingDevice, publ
-     Q_OBJECT
- public:
-     QWaylandTabletToolV2(QWaylandTabletSeatV2 *tabletSeat, ::zwp_tablet_tool_v2 *tool);
-+    ~QWaylandTabletToolV2();
- 
- protected:
-     void zwp_tablet_tool_v2_type(uint32_t tool_type) override;
-@@ -137,6 +139,7 @@ class Q_WAYLANDCLIENT_EXPORT QWaylandTabletPadV2 : public QPointingDevice, publi
-     Q_OBJECT
- public:
-     explicit QWaylandTabletPadV2(::zwp_tablet_pad_v2 *pad);
-+    ~QWaylandTabletPadV2();
- 
- protected:
- //    void zwp_tablet_pad_v2_group(struct ::zwp_tablet_pad_group_v2 *pad_group) override;
-diff --git a/tests/auto/client/tabletv2/tst_tabletv2.cpp b/tests/auto/client/tabletv2/tst_tabletv2.cpp
-index 85df099f..d5c2ccb3 100644
---- a/tests/auto/client/tabletv2/tst_tabletv2.cpp
-+++ b/tests/auto/client/tabletv2/tst_tabletv2.cpp
-@@ -186,9 +186,9 @@ public:
-     QList<TabletV2 *> m_tablets;
-     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:
-     void zwp_tablet_seat_v2_bind_resource(Resource *resource) override
-@@ -274,11 +274,12 @@ void TabletV2::zwp_tablet_v2_destroy(QtWaylandServer::zwp_tablet_v2::Resource *r
- 
- 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);
- }
- 
- uint TabletToolV2::sendProximityIn(TabletV2 *tablet, Surface *surface)
-@@ -333,26 +334,25 @@ uint TabletToolV2::sendFrame()
- void TabletToolV2::zwp_tablet_tool_v2_destroy(QtWaylandServer::zwp_tablet_tool_v2::Resource *resource)
- {
-     if (m_tabletSeat) {
--        bool removed = m_tabletSeat->m_toolsWaitingForDestroy.removeOne(this);
--        QVERIFY(removed);
-+        m_tabletSeat->m_toolsWaitingForDestroy.removeOne(resource);
-     }
-     wl_resource_destroy(resource->handle);
- }
- 
- 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);
- }
- 
- void TabletPadV2::zwp_tablet_pad_v2_destroy(QtWaylandServer::zwp_tablet_pad_v2::Resource *resource)
- {
-     if (m_tabletSeat) {
--        bool removed = m_tabletSeat->m_padsWaitingForDestroy.removeOne(this);
--        QVERIFY(removed);
-+        m_tabletSeat->m_padsWaitingForDestroy.removeOne(resource);
-     }
-     wl_resource_destroy(resource->handle);
- }
-@@ -405,6 +405,8 @@ private slots:
-     void destroysTablet();
-     void destroysTool();
-     void destroysPad();
-+    void removeTabletBeforeTool();
-+    void removeTabletBeforePad();
-     void proximityEvents();
-     void moveEvent();
-     void pointerType_data();
-@@ -502,12 +504,14 @@ void tst_tabletv2::destroysTool()
- {
-     QCOMPOSITOR_TRY_VERIFY(tabletSeat());
-     exec([&] {
-+        tabletSeat()->addTablet();
-         tabletSeat()->addTool();
-     });
-     QCOMPOSITOR_TRY_VERIFY(tabletTool());
- 
-     exec([&] {
-         tabletTool()->sendRemoved();
-+        tablet()->sendRemoved();
-     });
- 
-     QCOMPOSITOR_TRY_VERIFY(!tabletTool());
-@@ -530,6 +534,42 @@ void tst_tabletv2::destroysPad()
-     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());
-+}
-+
- void tst_tabletv2::proximityEvents()
- {
-     ProximityFilter filter;
--- 
-2.43.0
-
diff --git a/debian/patches/series b/debian/patches/series
index d50104b..7a9fba4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,5 +2,4 @@ c2f61bc47baacf2e6a44c6c3c4e4cbf0abfa4095.diff
 
 # below are the same patchset but rebased against 6.8.0 and 6.8.1
 # so move to the next one when we roll out 6.8.1
-0001-client-Redo-management-of-tablet-object-proxies.patch ### for 6.8.0
-### 24002ac6cbd01dbde4944b63c1f7c87ed2bd72b5.diff ### for 6.8.1
+24002ac6cbd01dbde4944b63c1f7c87ed2bd72b5.diff ### for 6.8.1


More information about the Neon-commits mailing list