fix(settings): fix crash (#3705)
This commit is contained in:
parent
a54457d1dc
commit
99e7104b3c
@ -53,11 +53,15 @@ namespace big
|
|||||||
{
|
{
|
||||||
from_json(m_options, *this);
|
from_json(m_options, *this);
|
||||||
}
|
}
|
||||||
catch (const nlohmann::detail::type_error& e)
|
catch (const std::exception& e)
|
||||||
{
|
{
|
||||||
LOG(WARNING) << e.what();
|
file.close();
|
||||||
|
|
||||||
return false;
|
LOG(WARNING) << "Detected incompatible settings, writing default config: " << e.what();
|
||||||
|
|
||||||
|
write_default_config();
|
||||||
|
|
||||||
|
return load();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (should_save)
|
if (should_save)
|
||||||
@ -101,6 +105,12 @@ namespace big
|
|||||||
{
|
{
|
||||||
current_settings[key] = e.value();
|
current_settings[key] = e.value();
|
||||||
|
|
||||||
|
should_save = true;
|
||||||
|
}
|
||||||
|
else if (current_settings[key].size() < e.value().size())
|
||||||
|
{
|
||||||
|
current_settings[key] = e.value();
|
||||||
|
|
||||||
should_save = true;
|
should_save = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user