From 57f763b0b6c9f7efec8e769c450ec7eca9fe2343 Mon Sep 17 00:00:00 2001 From: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Date: Thu, 19 Mar 2020 09:21:10 +0100 Subject: [PATCH] Check key existance before getting it from JSON (#1632) --- src/runner/general_settings.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/runner/general_settings.cpp b/src/runner/general_settings.cpp index 134f2cc12f..e7a58b0f0a 100644 --- a/src/runner/general_settings.cpp +++ b/src/runner/general_settings.cpp @@ -207,22 +207,22 @@ void start_initial_powertoys() try { general_settings = load_general_settings(); - json::JsonObject enabled = general_settings.GetNamedObject(L"enabled"); - for (const auto& enabled_element : enabled) + if (general_settings.HasKey(L"enabled")) { - if (enabled_element.Value().GetBoolean()) + json::JsonObject enabled = general_settings.GetNamedObject(L"enabled"); + for (const auto& enabled_element : enabled) { - // Enable this powertoy. - powertoys_to_enable.emplace(enabled_element.Key()); + if (enabled_element.Value().GetBoolean()) + { + // Enable this powertoy. + powertoys_to_enable.emplace(enabled_element.Key()); + } } + only_enable_some_powertoys = true; } - only_enable_some_powertoys = true; } catch (...) { - // Couldn't read the general settings correctly. - // Load all powertoys. - // TODO: notify user about invalid json config only_enable_some_powertoys = false; }