diff --git a/src/widgets/kernel/qgesturemanager.cpp b/src/widgets/kernel/qgesturemanager.cpp index 76ae157137c..86e0c49370d 100644 --- a/src/widgets/kernel/qgesturemanager.cpp +++ b/src/widgets/kernel/qgesturemanager.cpp @@ -110,8 +110,10 @@ void QGestureManager::unregisterGestureRecognizer(Qt::GestureType type) ObjectGesture objectGesture = iter.key(); if (objectGesture.gesture == type) { foreach (QGesture *g, iter.value()) { - if (QGestureRecognizer *recognizer = m_gestureToRecognizer.value(g)) { - m_gestureToRecognizer.remove(g); + auto it = m_gestureToRecognizer.constFind(g); + if (it != m_gestureToRecognizer.cend() && it.value()) { + QGestureRecognizer *recognizer = it.value(); + m_gestureToRecognizer.erase(it); m_obsoleteGestures[recognizer].insert(g); } }