diff --git a/src/plugins/projectexplorer/taskmodel.cpp b/src/plugins/projectexplorer/taskmodel.cpp index dcebb02f6b3ca58771a2a8484539c6f2f8c27f17..7a7a73360be651b428404c46f28248c4a12dde3a 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; } }