From 0b05a72d46314df821c12a393cb9b4f3ff9af5de Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Mon, 25 Jun 2018 18:54:42 +0200 Subject: [PATCH] fix a crash when a device is remove which never registered a timer --- simulation/devicepluginsimulation.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/simulation/devicepluginsimulation.cpp b/simulation/devicepluginsimulation.cpp index 4d49f3e8..5ff8f097 100644 --- a/simulation/devicepluginsimulation.cpp +++ b/simulation/devicepluginsimulation.cpp @@ -62,9 +62,12 @@ DeviceManager::DeviceSetupStatus DevicePluginSimulation::setupDevice(Device *dev void DevicePluginSimulation::deviceRemoved(Device *device) { - QTimer *t = m_simulationTimers.take(device); - t->stop(); - t->deleteLater(); + // Clean up any timers we may have for this device + if (m_simulationTimers.contains(device)) { + QTimer *t = m_simulationTimers.take(device); + t->stop(); + t->deleteLater(); + } } DeviceManager::DeviceError DevicePluginSimulation::executeAction(Device *device, const Action &action)