]> git.lizzy.rs Git - dragonfireclient.git/commitdiff
Fix Settings::remove() always returning true
authorKahrl <kahrl@gmx.net>
Tue, 19 Jan 2016 09:15:01 +0000 (10:15 +0100)
committerKahrl <kahrl@gmx.net>
Tue, 19 Jan 2016 09:15:01 +0000 (10:15 +0100)
src/settings.cpp

index e1e01e81a28518bfc61836273477138796a52a6c..8ea687d1c8b7cff41c7fb6c6490b3df9bd164477 100644 (file)
@@ -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;
+       }
 }