From 913b0f157cf58959aacbca52a325a71bdb742f99 Mon Sep 17 00:00:00 2001 From: goaaats <16760685+goaaats@users.noreply.github.com> Date: Wed, 20 Oct 2021 17:38:09 +0200 Subject: [PATCH] fix: save DalamudConfiguration with full type information --- .../Configuration/Internal/DalamudConfiguration.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Dalamud/Configuration/Internal/DalamudConfiguration.cs b/Dalamud/Configuration/Internal/DalamudConfiguration.cs index 1a3b047b8..8e966ca66 100644 --- a/Dalamud/Configuration/Internal/DalamudConfiguration.cs +++ b/Dalamud/Configuration/Internal/DalamudConfiguration.cs @@ -16,6 +16,13 @@ namespace Dalamud.Configuration.Internal [Serializable] internal sealed class DalamudConfiguration { + private static readonly JsonSerializerSettings SerializerSettings = new() + { + TypeNameHandling = TypeNameHandling.All, + TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Full, + Formatting = Formatting.Indented, + }; + [JsonIgnore] private string configPath; @@ -238,7 +245,7 @@ namespace Dalamud.Configuration.Internal DalamudConfiguration deserialized; try { - deserialized = JsonConvert.DeserializeObject(File.ReadAllText(path)); + deserialized = JsonConvert.DeserializeObject(File.ReadAllText(path), SerializerSettings); } catch (Exception ex) { @@ -256,7 +263,7 @@ namespace Dalamud.Configuration.Internal /// public void Save() { - File.WriteAllText(this.configPath, JsonConvert.SerializeObject(this, Formatting.Indented)); + File.WriteAllText(this.configPath, JsonConvert.SerializeObject(this, SerializerSettings)); this.DalamudConfigurationSaved?.Invoke(this); } }