aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Common/Configuration/ConfigurationFileFormat.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Common/Configuration/ConfigurationFileFormat.cs')
-rw-r--r--Ryujinx.Common/Configuration/ConfigurationFileFormat.cs18
1 files changed, 15 insertions, 3 deletions
diff --git a/Ryujinx.Common/Configuration/ConfigurationFileFormat.cs b/Ryujinx.Common/Configuration/ConfigurationFileFormat.cs
index 72cc579c..79993d87 100644
--- a/Ryujinx.Common/Configuration/ConfigurationFileFormat.cs
+++ b/Ryujinx.Common/Configuration/ConfigurationFileFormat.cs
@@ -227,9 +227,20 @@ namespace Ryujinx.Configuration
/// Loads a configuration file from disk
/// </summary>
/// <param name="path">The path to the JSON configuration file</param>
- public static ConfigurationFileFormat Load(string path)
+ public static bool TryLoad(string path, out ConfigurationFileFormat configurationFileFormat)
{
- return JsonHelper.DeserializeFromFile<ConfigurationFileFormat>(path);
+ try
+ {
+ configurationFileFormat = JsonHelper.DeserializeFromFile<ConfigurationFileFormat>(path);
+
+ return true;
+ }
+ catch
+ {
+ configurationFileFormat = null;
+
+ return false;
+ }
}
/// <summary>
@@ -238,7 +249,8 @@ namespace Ryujinx.Configuration
/// <param name="path">The path to the JSON configuration file</param>
public void SaveConfig(string path)
{
- File.WriteAllText(path, JsonHelper.Serialize(this, true));
+ using FileStream fileStream = File.Create(path, 4096, FileOptions.WriteThrough);
+ JsonHelper.Serialize(fileStream, this, true);
}
}
} \ No newline at end of file