summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanager.cpp')
-rw-r--r--src/plugins/cpptools/cppmodelmanager.cpp9
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