diff options
author | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-01-15 15:41:29 +0300 |
---|---|---|
committer | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-01-18 07:57:56 +0000 |
commit | f644f86c84287065535fbd8c3478a5b2550437ac (patch) | |
tree | 54640dd88fa7e4cc3ce03b15d6ed3a7c2b005070 /src/quick/items/qquickmultipointtoucharea.cpp | |
parent | 1cbf064cdf6d24ddbb6bf30b08a88ec1bf03d3df (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.cpp | 6 |
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); } |