From b8835ad44f1d84c9a23cd89a9c23c17f3ba96c3f Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Wed, 4 Nov 2020 19:54:39 -0600 Subject: [PATCH] Clear the settings store if parsing the loaded JSON file fails --- SettingsManager.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/SettingsManager.cpp b/SettingsManager.cpp index 38dc9774..0359989d 100644 --- a/SettingsManager.cpp +++ b/SettingsManager.cpp @@ -44,6 +44,18 @@ void SettingsManager::LoadSettings(std::string filename) \*---------------------------------------------------------*/ if(settings_file) { - settings_file >> settings_data; + try + { + settings_file >> settings_data; + } + catch(std::exception e) + { + /*-------------------------------------------------*\ + | If an exception was caught, that means the JSON | + | parsing failed. Clear out any data in the store | + | as it is corrupt. | + \*-------------------------------------------------*/ + settings_data.clear(); + } } }