QGestureManager: prevent double-lookup in a QHash
First lookup with value(key), second lookup with remove(key). Use constFind() to get an iterator and use that instead. Change-Id: Idce585ad2269be91eda0381aeb2f2d164033f71f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 99c6190bdf3906bd84ed1368a4d41abe08470f78) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
ea9f37469e
commit
85a4749302
@ -110,8 +110,10 @@ void QGestureManager::unregisterGestureRecognizer(Qt::GestureType type)
|
|||||||
ObjectGesture objectGesture = iter.key();
|
ObjectGesture objectGesture = iter.key();
|
||||||
if (objectGesture.gesture == type) {
|
if (objectGesture.gesture == type) {
|
||||||
foreach (QGesture *g, iter.value()) {
|
foreach (QGesture *g, iter.value()) {
|
||||||
if (QGestureRecognizer *recognizer = m_gestureToRecognizer.value(g)) {
|
auto it = m_gestureToRecognizer.constFind(g);
|
||||||
m_gestureToRecognizer.remove(g);
|
if (it != m_gestureToRecognizer.cend() && it.value()) {
|
||||||
|
QGestureRecognizer *recognizer = it.value();
|
||||||
|
m_gestureToRecognizer.erase(it);
|
||||||
m_obsoleteGestures[recognizer].insert(g);
|
m_obsoleteGestures[recognizer].insert(g);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user