diff --git a/Wox.Infrastructure/Storage/BaseStorage.cs b/Wox.Infrastructure/Storage/BaseStorage.cs index c72bf63c35..1b6c7c078e 100644 --- a/Wox.Infrastructure/Storage/BaseStorage.cs +++ b/Wox.Infrastructure/Storage/BaseStorage.cs @@ -79,7 +79,7 @@ namespace Wox.Infrastructure.Storage /// protected virtual T LoadDefault() { - return serializedObject; + return new T(); } protected abstract void LoadInternal(); diff --git a/Wox.Infrastructure/Storage/BinaryStorage.cs b/Wox.Infrastructure/Storage/BinaryStorage.cs index 39f1a43b7a..c0e8be63cf 100644 --- a/Wox.Infrastructure/Storage/BinaryStorage.cs +++ b/Wox.Infrastructure/Storage/BinaryStorage.cs @@ -25,10 +25,20 @@ namespace Wox.Infrastructure.Storage { try { - FileStream fileStream = new FileStream(ConfigPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); - BinaryFormatter binaryFormatter = new BinaryFormatter(); - serializedObject = binaryFormatter.Deserialize(fileStream) as T; - fileStream.Close(); + using (FileStream fileStream = new FileStream(ConfigPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + { + BinaryFormatter binaryFormatter = new BinaryFormatter(); + serializedObject = binaryFormatter.Deserialize(fileStream) as T; + if (serializedObject == null) + { + serializedObject = LoadDefault(); +#if (DEBUG) + { + throw new Exception("deserialize failed"); + } +#endif + } + } } catch (Exception) { diff --git a/Wox.Infrastructure/Storage/UserSettings/UserSettingStorage.cs b/Wox.Infrastructure/Storage/UserSettings/UserSettingStorage.cs index f7bf665525..1dd42a4044 100644 --- a/Wox.Infrastructure/Storage/UserSettings/UserSettingStorage.cs +++ b/Wox.Infrastructure/Storage/UserSettings/UserSettingStorage.cs @@ -153,7 +153,7 @@ namespace Wox.Infrastructure.Storage.UserSettings { DontPromptUpdateMsg = false; Theme = "Dark"; - Language = "English"; + Language = "en"; ReplaceWinR = true; WebSearches = LoadDefaultWebSearches(); ProgramSources = new List(); @@ -189,7 +189,7 @@ namespace Wox.Infrastructure.Storage.UserSettings } if (storage.Language == null) { - storage.Language = "English"; + storage.Language = "en"; } } }