diff --git a/src/ConfigManager.cpp b/src/ConfigManager.cpp index d4e70c6..362f893 100644 --- a/src/ConfigManager.cpp +++ b/src/ConfigManager.cpp @@ -42,6 +42,13 @@ namespace shellanything ConfigManager::~ConfigManager() { + // delete configurations + for (size_t i = 0; i < mConfigurations.size(); i++) + { + Configuration* config = mConfigurations[i]; + delete config; + } + mConfigurations.Clear(); } ConfigManager & ConfigManager::GetInstance() diff --git a/src/Configuration.cpp b/src/Configuration.cpp index 1273640..4c5f26c 100644 --- a/src/Configuration.cpp +++ b/src/Configuration.cpp @@ -115,6 +115,13 @@ namespace shellanything Configuration::~Configuration() { + // delete menus + for (size_t i = 0; i < mMenus.size(); i++) + { + Menu* sub = mMenus[i]; + delete sub; + } + mMenus.Clear(); } Configuration * Configuration::LoadFile(const std::string & path, std::string & error) diff --git a/src/Menu.cpp b/src/Menu.cpp index 4baae9b..b49273f 100644 --- a/src/Menu.cpp +++ b/src/Menu.cpp @@ -51,7 +51,7 @@ namespace shellanything Menu::~Menu() { - // validities + // delete validities for(size_t i=0; i