QGestureManager: port Q_FOREACH to ranged-for [1/6]
The loop doesn't modify the QHash while iterating over it, so use std::as_const. Drive by change: Use asKeyValueRange() to get a key/value pair: - No need to allocate a QStringList to hold the keys - Prevent double lookup which happened when hash.value(key) was used inside the loop body Task-number: QTBUG-115803 Change-Id: Ic0473c0971089f6ca75d3397209fe1c909e975a1 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>bb10
parent
4bfe6ea251
commit
a3a53cdde4
|
|
@ -100,8 +100,7 @@ void QGestureManager::unregisterGestureRecognizer(Qt::GestureType type)
|
|||
{
|
||||
QList<QGestureRecognizer *> list = m_recognizers.values(type);
|
||||
m_recognizers.remove(type);
|
||||
foreach (QGesture *g, m_gestureToRecognizer.keys()) {
|
||||
QGestureRecognizer *recognizer = m_gestureToRecognizer.value(g);
|
||||
for (const auto &[g, recognizer] : std::as_const(m_gestureToRecognizer).asKeyValueRange()) {
|
||||
if (list.contains(recognizer)) {
|
||||
m_deletedRecognizers.insert(g, recognizer);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue