[PATCH] GUI: no need to unregister input device if list is destroyed
authorThiago Macieira <thiago.macieira@intel.com>
Mon, 17 Feb 2025 19:16:55 +0000 (20:16 +0100)
committerPatrick Franz <deltaone@debian.org>
Fri, 18 Jul 2025 13:28:20 +0000 (15:28 +0200)
Fixes: QTBUG-133776
Change-Id: If4a148e3ebf753ccd661a5ed1b321dbd7751576e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit 1040728e39b8b898d6e96b79a4c7bfcd0cb3f027)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 6ad615cd1218a9b7f4204c04288ae2d6ed6c232b)

Gbp-Pq: Name upstream_prevent_unregistering_input_device.diff

src/gui/kernel/qinputdevice.cpp

index 3ef8ad10c7d95f85905763a9463d9a1689fd2cf5..25f16c4a7d83483814fe67436f9998b76c34967d 100644 (file)
@@ -356,6 +356,9 @@ void QInputDevicePrivate::registerDevice(const QInputDevice *dev)
 */
 void QInputDevicePrivate::unregisterDevice(const QInputDevice *dev)
 {
+    if (deviceList.isDestroyed())
+        return;     // nothing to remove!
+
     QMutexLocker lock(&devicesMutex);
     deviceList()->removeOne(dev);
     qCInfo(lcQpaInputDevices) << "Unregistered" << dev;