From bc4fa63f8489c9c82fd82f12b4acf368e71aa388 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Tue, 16 Jul 2013 16:14:47 +0200 Subject: [PATCH] CppTools: Move GC() call from CppEditorWidget to CppModelManager There is no need to have that logic in CppEditorWidget. The CppModelManager knows how many editors are open and can therefore call GC() by itself. Change-Id: I2ed4051ad7b8c87615014d73e29291027d49d2ab Reviewed-by: Erik Verbruggen --- src/plugins/cppeditor/cppeditor.cpp | 9 --------- src/plugins/cpptools/cppmodelmanager.cpp | 9 +++++++++ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index c20217930c6..17cf49bc866 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -322,8 +322,6 @@ struct CanonicalSymbol }; -int numberOfClosedEditors = 0; - /// Check if previous line is a CppStyle Doxygen Comment bool isPreviousLineCppStyleComment(const QTextCursor &cursor) { @@ -565,13 +563,6 @@ CPPEditorWidget::~CPPEditorWidget() if (m_modelManager) m_modelManager->deleteEditorSupport(editor()); - ++numberOfClosedEditors; - if (numberOfClosedEditors == 5) { - if (m_modelManager) - m_modelManager->GC(); - numberOfClosedEditors = 0; - } - delete m_completionSupport; } diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index 4380a212979..6d55de5cdfb 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -610,6 +610,8 @@ QList 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