Skip to content

Commit

Permalink
Fixed memory leaks based on Node removal. For issue #102.
Browse files Browse the repository at this point in the history
  • Loading branch information
end2endzone committed Dec 29, 2021
1 parent 60df745 commit 3960a4c
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 4 deletions.
7 changes: 7 additions & 0 deletions src/ConfigManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down
7 changes: 7 additions & 0 deletions src/Configuration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
8 changes: 4 additions & 4 deletions src/Menu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,31 +51,31 @@ namespace shellanything

Menu::~Menu()
{
// validities
// delete validities
for(size_t i=0; i<mValidities.size(); i++)
{
Validator * validator = mValidities[i];
delete validator;
}
mValidities.clear();

// visibilities
// delete visibilities
for(size_t i=0; i<mVisibilities.size(); i++)
{
Validator * validator = mVisibilities[i];
delete validator;
}
mVisibilities.clear();

// actions
// delete actions
for(size_t i=0; i<mActions.size(); i++)
{
Action * action = mActions[i];
delete action;
}
mActions.clear();

// submenus
// delete submenus
for(size_t i=0; i<mSubMenus.size(); i++)
{
Menu * sub = mSubMenus[i];
Expand Down

0 comments on commit 3960a4c

Please sign in to comment.