diff --git a/Wox.Infrastructure/Storage/BaseStorage.cs b/Wox.Infrastructure/Storage/BaseStorage.cs index 6b9fd4f89f..f19065c446 100644 --- a/Wox.Infrastructure/Storage/BaseStorage.cs +++ b/Wox.Infrastructure/Storage/BaseStorage.cs @@ -44,7 +44,10 @@ namespace Wox.Infrastructure.Storage } } - protected virtual void LoadDefaultConfig() { } + protected virtual T LoadDefaultConfig() + { + return storage; + } private void Load() { @@ -61,19 +64,17 @@ namespace Wox.Infrastructure.Storage try { storage = JsonConvert.DeserializeObject(json); - OnAfterLoadConfig(storage); } catch (Exception) { - //no-op - LoadDefaultConfig(); + storage = LoadDefaultConfig(); } } else { - LoadDefaultConfig(); + storage = LoadDefaultConfig(); } - + OnAfterLoadConfig(storage); } public void Save() diff --git a/Wox.Infrastructure/Storage/UserSettings/UserSettingStorage.cs b/Wox.Infrastructure/Storage/UserSettings/UserSettingStorage.cs index d4e941a30c..ec3b96813f 100644 --- a/Wox.Infrastructure/Storage/UserSettings/UserSettingStorage.cs +++ b/Wox.Infrastructure/Storage/UserSettings/UserSettingStorage.cs @@ -143,7 +143,7 @@ namespace Wox.Infrastructure.Storage.UserSettings get { return "config"; } } - protected override void LoadDefaultConfig() + protected override UserSettingStorage LoadDefaultConfig() { Theme = "Dark"; ReplaceWinR = true; @@ -157,6 +157,8 @@ namespace Wox.Infrastructure.Storage.UserSettings OpacityMode = OpacityMode.Normal; LeaveCmdOpen = false; HideWhenDeactive = false; + + return this; } protected override void OnAfterLoadConfig(UserSettingStorage storage)