From b13b134616613060505d776d2fef1446b139ec0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20S=C3=B6derlund?= Date: Thu, 26 Sep 2019 12:45:08 +0200 Subject: qcam: Fix unregister of not registered timer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If an unregistered timer is given to QtEventDispatcher::unregisterTimer() an error is printed and Qt gets confused and locks up. Fix this by following the libcamera documentation that passing a unregistered timer is a no-op. Signed-off-by: Niklas Söderlund Reviewed-by: Laurent Pinchart --- src/qcam/qt_event_dispatcher.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/qcam/qt_event_dispatcher.cpp') diff --git a/src/qcam/qt_event_dispatcher.cpp b/src/qcam/qt_event_dispatcher.cpp index 5ba451bf..98d2472c 100644 --- a/src/qcam/qt_event_dispatcher.cpp +++ b/src/qcam/qt_event_dispatcher.cpp @@ -120,6 +120,9 @@ void QtEventDispatcher::registerTimer(Timer *timer) void QtEventDispatcher::unregisterTimer(Timer *timer) { auto it = timerIds_.find(timer); + if (it == timerIds_.end()) + return; + timers_.erase(it->second); killTimer(it->second); timerIds_.erase(it); -- cgit v1.2.1