aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickmultipointtoucharea.cpp
diff options
context:
space:
mode:
authorAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-01-15 15:41:29 +0300
committerAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-01-18 07:57:56 +0000
commitf644f86c84287065535fbd8c3478a5b2550437ac (patch)
tree54640dd88fa7e4cc3ce03b15d6ed3a7c2b005070 /src/quick/items/qquickmultipointtoucharea.cpp
parent1cbf064cdf6d24ddbb6bf30b08a88ec1bf03d3df (diff)
Quick: fix expensive iteration over QHash::keys() and QMap::keys()
Change-Id: I21c48214bfddde01f71710705fe01418818a6581 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Diffstat (limited to 'src/quick/items/qquickmultipointtoucharea.cpp')
-rw-r--r--src/quick/items/qquickmultipointtoucharea.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/quick/items/qquickmultipointtoucharea.cpp b/src/quick/items/qquickmultipointtoucharea.cpp
index 9e658cc668..e3a8fe3cc6 100644
--- a/src/quick/items/qquickmultipointtoucharea.cpp
+++ b/src/quick/items/qquickmultipointtoucharea.cpp
@@ -470,7 +470,11 @@ void QQuickMultiPointTouchArea::grabGesture()
grabMouse();
setKeepMouseGrab(true);
- grabTouchPoints(_touchPoints.keys().toVector());
+ QVector<int> ids;
+ ids.reserve(_touchPoints.size());
+ for (auto it = _touchPoints.keyBegin(), end = _touchPoints.keyEnd(); it != end; ++it)
+ ids.append(*it);
+ grabTouchPoints(ids);
setKeepTouchGrab(true);
}