diff --git a/src/settings.cpp b/src/settings.cpp index e1e01e81a28518bfc61836273477138796a52a6c..8ea687d1c8b7cff41c7fb6c6490b3df9bd164477 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -880,8 +880,14 @@ bool Settings::remove(const std::string &name) { MutexAutoLock lock(m_mutex); - delete m_settings[name].group; - return m_settings.erase(name); + std::map<std::string, SettingsEntry>::iterator it = m_settings.find(name); + if (it != m_settings.end()) { + delete it->second.group; + m_settings.erase(it); + return true; + } else { + return false; + } }