forked from qt-creator/qt-creator
CppTools: Garbage collect if the last CppEditor is closed
Task-number: QTCREATORBUG-9828 Change-Id: Ie0ef9757cedb772702e49542b58d5b589506aa9e Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
@@ -618,21 +618,22 @@ void CppModelManager::deleteEditorSupport(TextEditor::BaseTextEditor *textEditor
|
||||
return;
|
||||
|
||||
CppEditorSupport *editorSupport;
|
||||
int numberOfOpenEditors = 0;
|
||||
|
||||
{ // only lock the operations on m_editorSupport
|
||||
QMutexLocker locker(&m_editorSupportMutex);
|
||||
editorSupport = m_editorSupport.value(textEditor, 0);
|
||||
m_editorSupport.remove(textEditor);
|
||||
numberOfOpenEditors = m_editorSupport.size();
|
||||
}
|
||||
|
||||
delete editorSupport;
|
||||
|
||||
++numberOfClosedEditors;
|
||||
if (numberOfClosedEditors == 5) {
|
||||
if (numberOfOpenEditors == 0 || numberOfClosedEditors == 5) {
|
||||
numberOfClosedEditors = 0;
|
||||
GC();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
bool CppModelManager::isCppEditor(Core::IEditor *editor) const
|
||||
|
Reference in New Issue
Block a user