diff options
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanager.cpp')
-rw-r--r-- | src/plugins/cpptools/cppmodelmanager.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index 7385d5ea6e..da45301782 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -33,6 +33,7 @@ #include "cppindexingsupport.h" #include "cppmodelmanagersupportinternal.h" #include "cpprefactoringchanges.h" +#include "cpprefactoringengine.h" #include "cppsourceprocessor.h" #include "cpptoolsconstants.h" #include "cpptoolsplugin.h" @@ -165,7 +166,8 @@ public: QTimer m_delayedGcTimer; // Refactoring - RefactoringEngineInterface *m_refactoringEngine = nullptr; + CppRefactoringEngine m_builtInRefactoringEngine; + RefactoringEngineInterface *m_refactoringEngine { &m_builtInRefactoringEngine }; }; } // namespace Internal @@ -267,12 +269,15 @@ QString CppModelManager::editorConfigurationFileName() void CppModelManager::setRefactoringEngine(RefactoringEngineInterface *refactoringEngine) { - instance()->d->m_refactoringEngine = refactoringEngine; + if (refactoringEngine) + instance()->d->m_refactoringEngine = refactoringEngine; + else + instance()->d->m_refactoringEngine = &instance()->d->m_builtInRefactoringEngine; } -RefactoringEngineInterface *CppModelManager::refactoringEngine() +RefactoringEngineInterface &CppModelManager::refactoringEngine() { - return instance()->d->m_refactoringEngine; + return *instance()->d->m_refactoringEngine; } FollowSymbolInterface &CppModelManager::followSymbolInterface() const |