summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/coreplugin/editormanager/editorgroup.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/plugins/coreplugin/editormanager/editorgroup.cpp b/src/plugins/coreplugin/editormanager/editorgroup.cpp
index c146a09f25..2e33f810e0 100644
--- a/src/plugins/coreplugin/editormanager/editorgroup.cpp
+++ b/src/plugins/coreplugin/editormanager/editorgroup.cpp
@@ -268,16 +268,14 @@ bool EditorGroup::restoreState(const QByteArray &state)
EditorManager *em = EditorManager::instance();
EditorList editors;
in >> editors;
- IEditor *currentEditor = 0;
- IEditor *editor;
int savedIndex = editors.currentEditorIndex;
+ if (savedIndex >= 0 && savedIndex < editors.count())
+ em->restoreEditor(editors.fileNameAt(savedIndex), editors.editorKindAt(savedIndex), this);
for (int j = 0; j < editors.count(); ++j) {
- editor = em->restoreEditor(editors.fileNameAt(j), editors.editorKindAt(j), this);
if (j == savedIndex)
- currentEditor = editor;
+ continue;
+ em->restoreEditor(editors.fileNameAt(j), editors.editorKindAt(j), this);
}
- if (currentEditor)
- setCurrentEditor(currentEditor);
return true;
}