From dfa021ab205faa6e2257f6c8bd49c7ef6ce6fa5d Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 29 Apr 2020 14:10:07 +0200 Subject: [PATCH] Fix upgrade of preference if visible settings was not modified Oops. Small oversight. This could lead to the preferences file being erased completely. Found during work on Sentry issue CURA-NH. --- .../VersionUpgrade45to46/VersionUpgrade45to46.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade45to46/VersionUpgrade45to46.py b/plugins/VersionUpgrade/VersionUpgrade45to46/VersionUpgrade45to46.py index f62264c3e7..a399c79535 100644 --- a/plugins/VersionUpgrade/VersionUpgrade45to46/VersionUpgrade45to46.py +++ b/plugins/VersionUpgrade/VersionUpgrade45to46/VersionUpgrade45to46.py @@ -29,11 +29,12 @@ class VersionUpgrade45to46(VersionUpgrade): parser["metadata"]["setting_version"] = "12" # Remove deleted settings from the visible settings list. - visible_settings = set(parser["general"]["visible_settings"].split(";")) - for removed in _removed_settings: - if removed in visible_settings: - visible_settings.remove(removed) - parser["general"]["visible_settings"] = ";".join(visible_settings) + if "general" in parser and "visible_settings" in parser["general"]: + visible_settings = set(parser["general"]["visible_settings"].split(";")) + for removed in _removed_settings: + if removed in visible_settings: + visible_settings.remove(removed) + parser["general"]["visible_settings"] = ";".join(visible_settings) result = io.StringIO() parser.write(result)