diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ai/ai_config.cpp | 6 | ||||
-rw-r--r-- | src/ai/ai_scanner.cpp | 3 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/ai/ai_config.cpp b/src/ai/ai_config.cpp index d09fc39c0..cd0cc8f30 100644 --- a/src/ai/ai_config.cpp +++ b/src/ai/ai_config.cpp @@ -55,7 +55,11 @@ AIConfig::AIConfig(const AIConfig *config) AIConfig::~AIConfig() { - this->ChangeAI(NULL); + free((void *)this->name); + for (SettingValueList::iterator it = this->settings.begin(); it != this->settings.end(); it++) { + free((void*)(*it).first); + } + this->settings.clear(); } AIInfo *AIConfig::GetInfo() diff --git a/src/ai/ai_scanner.cpp b/src/ai/ai_scanner.cpp index d7fc258c7..11f4cdafd 100644 --- a/src/ai/ai_scanner.cpp +++ b/src/ai/ai_scanner.cpp @@ -179,6 +179,7 @@ AIScanner::~AIScanner() delete (*lit).second; } + delete this->info_dummy; delete this->engine; } @@ -331,7 +332,7 @@ void AIScanner::RegisterAI(AIInfo *info) strtolower(ai_name); if (this->info_single_list.find(ai_name) == this->info_single_list.end()) { this->info_single_list[strdup(ai_name)] = info; - } else if (this->info_single_list[strdup(ai_name)]->GetVersion() < info->GetVersion()) { + } else if (this->info_single_list[ai_name]->GetVersion() < info->GetVersion()) { this->info_single_list[ai_name] = info; } } |