From 33e878333874979c157fff57fb5fd073348f0423 Mon Sep 17 00:00:00 2001
From: mae <qtc-committer@nokia.com>
Date: Fri, 13 Feb 2009 15:59:14 +0100
Subject: [PATCH] update current navigation history position only for the
 current position

---
 .../coreplugin/editormanager/editormanager.cpp       | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp
index 06aa72a3a57..6dce1583f5a 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.cpp
+++ b/src/plugins/coreplugin/editormanager/editormanager.cpp
@@ -1344,8 +1344,6 @@ void EditorManager::addCurrentPositionToNavigationHistory(bool compress)
     if (!editor->file())
         return;
     
-    qDebug() << "addCurrentPositionToNavigationHistory" << editor->file()->fileName();
-    
     QString fileName = editor->file()->fileName();
     QByteArray state = editor->saveState();
     // cut existing
@@ -1382,13 +1380,11 @@ void EditorManager::addCurrentPositionToNavigationHistory(bool compress)
 
 void EditorManager::updateCurrentPositionInNavigationHistory()
 {
-    if (!m_d->m_currentEditor)
+    if (!m_d->m_currentEditor
+        || m_d->currentNavigationHistoryPosition < 0
+        || m_d->m_navigationHistory.at(m_d->currentNavigationHistoryPosition)->editor != m_d->m_currentEditor)
         return;
-    foreach (EditorManagerPrivate::EditLocation *location, m_d->m_navigationHistory)
-        if (location->editor == m_d->m_currentEditor) {
-            location->state = location->editor->saveState();
-            break;
-        }
+    m_d->m_navigationHistory.at(m_d->currentNavigationHistoryPosition)->state = m_d->m_currentEditor->saveState();
 }
 
 void EditorManager::goBackInNavigationHistory()
-- 
GitLab