forked from qt-creator/qt-creator
Fix closing document when split and two documents are open.
If one had two documents open, but the same document visible in both split views, closing the document would lead to an empty view and strange behavior of the close button while in that state. Task-number: QTCREATORBUG-7361 Change-Id: I3c0673a82b9d11700326a946a04984a2d6d58fe8 Reviewed-by: Jarek Kobus <jaroslaw.kobus@nokia.com>
This commit is contained in:
@@ -883,8 +883,10 @@ bool EditorManager::closeEditors(const QList<IEditor*> &editorsToClose, bool ask
|
||||
return false;
|
||||
|
||||
// add duplicates
|
||||
QList<IEditor *> duplicates;
|
||||
foreach(IEditor *editor, acceptedEditors)
|
||||
acceptedEditors += d->m_editorModel->duplicatesFor(editor);
|
||||
duplicates += d->m_editorModel->duplicatesFor(editor);
|
||||
acceptedEditors += duplicates;
|
||||
|
||||
QList<EditorView*> closedViews;
|
||||
|
||||
@@ -914,8 +916,13 @@ bool EditorManager::closeEditors(const QList<IEditor*> &editorsToClose, bool ask
|
||||
activateEditor(view, newCurrent, NoActivate);
|
||||
} else {
|
||||
QModelIndex idx = d->m_editorModel->firstRestoredEditor();
|
||||
if (idx.isValid())
|
||||
if (idx.isValid()) {
|
||||
activateEditorForIndex(view, idx, NoActivate);
|
||||
} else {
|
||||
const QList<IEditor *> editors = d->m_editorModel->editors();
|
||||
if (!editors.isEmpty())
|
||||
activateEditor(view, editors.last(), NoActivate);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user