From 7c3a291ea0a0fe808957dbcb665c5adf61d09422 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Date: Fri, 6 May 2011 19:47:56 +0200 Subject: [PATCH] ignore vanished files while restoring session there is no point in bothering the user with error messages and/or having ghost editors hanging around. Task-number: QTCREATORBUG-2424 --- src/plugins/coreplugin/editormanager/editormanager.cpp | 4 +++- src/plugins/coreplugin/editormanager/editorview.cpp | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 5d9cb25c06f..0460f37ee72 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -1831,8 +1831,10 @@ bool EditorManager::restoreState(const QByteArray &state) if (!fileName.isEmpty() && !displayName.isEmpty()) { QFileInfo fi(fileName); + if (!fi.exists()) + continue; QFileInfo rfi(autoSaveName(fileName)); - if (fi.exists() && rfi.exists() && fi.lastModified() < rfi.lastModified()) { + if (rfi.exists() && fi.lastModified() < rfi.lastModified()) { openEditor(fileName, QString::fromUtf8(id)); } else { m_d->m_editorModel->addRestoredEditor(fileName, displayName, QString::fromUtf8(id)); diff --git a/src/plugins/coreplugin/editormanager/editorview.cpp b/src/plugins/coreplugin/editormanager/editorview.cpp index 4491ae12d56..a7a6dad9e89 100644 --- a/src/plugins/coreplugin/editormanager/editorview.cpp +++ b/src/plugins/coreplugin/editormanager/editorview.cpp @@ -784,6 +784,8 @@ void SplitterOrView::restoreState(const QByteArray &state) QByteArray id; QByteArray editorState; stream >> fileName >> id >> editorState; + if (!QFile::exists(fileName)) + return; IEditor *e = em->openEditor(view(), fileName, id, Core::EditorManager::IgnoreNavigationHistory | Core::EditorManager::NoActivate); -- GitLab