From 8a46dd8d8e2374fda5a27d2079ef30722ee08000 Mon Sep 17 00:00:00 2001 From: Emmanuel Pescosta Date: Wed, 15 Jan 2014 20:27:20 +0100 Subject: Use the QMap iterator instead of foreach(key, map.keys()) in UpdateItemStatesThread::run() and in VersionControlObserver::slotThreadFinished(). So we get O(n) complexity instead of O(n*logn), and O(1) memory instead of O(n). Thanks to Thiago Macieira for providing this information. FIXED-IN: 4.13 REVIEW: 115018 --- src/views/versioncontrol/versioncontrolobserver.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/views/versioncontrol/versioncontrolobserver.cpp') diff --git a/src/views/versioncontrol/versioncontrolobserver.cpp b/src/views/versioncontrol/versioncontrolobserver.cpp index 4d939ee0d..c542542ee 100644 --- a/src/views/versioncontrol/versioncontrolobserver.cpp +++ b/src/views/versioncontrol/versioncontrolobserver.cpp @@ -205,8 +205,9 @@ void VersionControlObserver::slotThreadFinished() } const QMap >& itemStates = thread->itemStates(); - foreach (const QString& directory, itemStates.keys()) { - const QVector& items = itemStates.value(directory); + QMap >::const_iterator it = itemStates.constBegin(); + for (; it != itemStates.constEnd(); ++it) { + const QVector& items = it.value(); foreach (const ItemState& item, items) { QHash values; -- cgit v1.3