diff options
author | Ahmad Samir <a.samirh78@gmail.com> | 2023-08-10 19:39:15 +0300 |
---|---|---|
committer | Ahmad Samir <a.samirh78@gmail.com> | 2023-10-13 00:54:43 +0300 |
commit | a3a53cdde4bfe7aff556731a2270b75505d300a8 (patch) | |
tree | 787ec0cfc4aa7f74e1f3497403ae7bd46b1c7673 /src/widgets/kernel/qgesturemanager.cpp | |
parent | 4bfe6ea25136b49a982f7fe47b1b788524a5db2e (diff) |
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>
Diffstat (limited to 'src/widgets/kernel/qgesturemanager.cpp')
-rw-r--r-- | src/widgets/kernel/qgesturemanager.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/widgets/kernel/qgesturemanager.cpp b/src/widgets/kernel/qgesturemanager.cpp index c44bd9f972..523d140d77 100644 --- a/src/widgets/kernel/qgesturemanager.cpp +++ b/src/widgets/kernel/qgesturemanager.cpp @@ -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); } |