From ed3f6e6d65ab8497e66971bc091aa366127b3956 Mon Sep 17 00:00:00 2001
From: Daniel Teske <daniel.teske@nokia.com>
Date: Wed, 22 Feb 2012 14:16:53 +0100
Subject: [PATCH] Optimize TaskModel::updateTaskLineNumber

Change-Id: I250b91d7dffa6a165765c08b77f004010e7fa8b3
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
---
 src/plugins/projectexplorer/taskmodel.cpp | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/plugins/projectexplorer/taskmodel.cpp b/src/plugins/projectexplorer/taskmodel.cpp
index dcebb02f6b3..7a7a73360be 100644
--- a/src/plugins/projectexplorer/taskmodel.cpp
+++ b/src/plugins/projectexplorer/taskmodel.cpp
@@ -150,12 +150,13 @@ void TaskModel::removeTask(const Task &task)
 
 void TaskModel::updateTaskLineNumber(unsigned int id, int line)
 {
-    for (int i = 0; i < m_tasks.count(); ++i) {
-        if (m_tasks.at(i).taskId == id) {
-            m_tasks[i].movedLine = line;
-            emit dataChanged(index(i, 0), index(i, 0));
-            return;
-        }
+    QList<Task>::iterator it = qLowerBound(m_tasks.begin(), m_tasks.end(), id, sortById);
+    QTC_ASSERT(it != m_tasks.end(), return)
+    int i = it - m_tasks.begin();
+    if (m_tasks.at(i).taskId == id) {
+        m_tasks[i].movedLine = line;
+        emit dataChanged(index(i, 0), index(i, 0));
+        return;
     }
 }
 
-- 
GitLab