diff options
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanager.cpp')
-rw-r--r-- | src/plugins/cpptools/cppmodelmanager.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index 4380a21297..6d55de5cdf 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -610,6 +610,8 @@ QList<ProjectPart::Ptr> CppModelManager::projectPart(const QString &fileName) co /// \brief Removes the CppEditorSupport for the closed editor. void CppModelManager::deleteEditorSupport(TextEditor::BaseTextEditor *textEditor) { + static short numberOfClosedEditors = 0; + QTC_ASSERT(textEditor, return); if (!isCppEditor(textEditor)) @@ -624,6 +626,13 @@ void CppModelManager::deleteEditorSupport(TextEditor::BaseTextEditor *textEditor } delete editorSupport; + + ++numberOfClosedEditors; + if (numberOfClosedEditors == 5) { + numberOfClosedEditors = 0; + GC(); + } + } bool CppModelManager::isCppEditor(Core::IEditor *editor) const |