diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp index 401086ec54e..f52358c2d31 100644 --- a/src/plugins/cpptools/cpptoolsplugin.cpp +++ b/src/plugins/cpptools/cpptoolsplugin.cpp @@ -82,7 +82,6 @@ class CppToolsPluginPrivate public: CppToolsPluginPrivate() { - StringTable::initialize(); CppModelManager::createCppModelManager(m_instance); m_settings = new CppToolsSettings(m_instance); // force registration of cpp tools settings m_codeModelSettings.fromSettings(ICore::settings()); @@ -91,12 +90,12 @@ public: ~CppToolsPluginPrivate() { - StringTable::destroy(); if (m_cppCodeStyleSettingsPage) delete m_cppCodeStyleSettingsPage; ExtensionSystem::PluginManager::removeObject(&m_cppProjectUpdaterFactory); } + StringTable stringTable; CppCodeModelSettings m_codeModelSettings; CppToolsSettings *m_settings = nullptr; CppFileSettings m_fileSettings; diff --git a/src/plugins/cpptools/stringtable.cpp b/src/plugins/cpptools/stringtable.cpp index ec055e0fece..d3a9f51a2af 100644 --- a/src/plugins/cpptools/stringtable.cpp +++ b/src/plugins/cpptools/stringtable.cpp @@ -111,12 +111,12 @@ void StringTable::scheduleGC() QMetaObject::invokeMethod(&m_instance->m_gcCountDown, "start", Qt::QueuedConnection); } -void StringTable::initialize() +StringTable::StringTable() { m_instance = new StringTablePrivate; } -void StringTable::destroy() +StringTable::~StringTable() { delete m_instance; m_instance = nullptr; diff --git a/src/plugins/cpptools/stringtable.h b/src/plugins/cpptools/stringtable.h index fdac41f1b1e..db8201ab00d 100644 --- a/src/plugins/cpptools/stringtable.h +++ b/src/plugins/cpptools/stringtable.h @@ -30,8 +30,6 @@ namespace CppTools { namespace Internal { -class CppToolsPluginPrivate; - class StringTable { public: @@ -40,8 +38,8 @@ public: private: friend class CppToolsPluginPrivate; - static void initialize(); - static void destroy(); + StringTable(); + ~StringTable(); }; } // Internal