diff options
Diffstat (limited to 'src/settings.cpp')
-rw-r--r-- | src/settings.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/settings.cpp b/src/settings.cpp index 3415ff818..cff393e5f 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -43,11 +43,11 @@ std::unordered_map<std::string, const FlagDesc *> Settings::s_flags; Settings *Settings::createLayer(SettingsLayer sl, const std::string &end_tag) { if ((int)sl < 0 || sl >= SL_TOTAL_COUNT) - throw new BaseException("Invalid settings layer"); + throw BaseException("Invalid settings layer"); Settings *&pos = s_layers[(size_t)sl]; if (pos) - throw new BaseException("Setting layer " + std::to_string(sl) + " already exists"); + throw BaseException("Setting layer " + std::to_string(sl) + " already exists"); pos = new Settings(end_tag); pos->m_settingslayer = sl; @@ -638,6 +638,7 @@ std::vector<std::string> Settings::getNames() const MutexAutoLock lock(m_mutex); std::vector<std::string> names; + names.reserve(m_settings.size()); for (const auto &settings_it : m_settings) { names.push_back(settings_it.first); } |