fix: "pick and restart" option in branch switcher not saving in time

This commit is contained in:
goat 2022-12-26 15:05:54 +01:00
parent 5c5f6be6ee
commit 63fe36920a
No known key found for this signature in database
GPG key ID: 49E2AA8C6A76498B
2 changed files with 12 additions and 1 deletions

View file

@ -370,13 +370,21 @@ internal sealed class DalamudConfiguration : IServiceType
} }
/// <summary> /// <summary>
/// Save the configuration at the path it was loaded from. /// Save the configuration at the path it was loaded from, at the next frame.
/// </summary> /// </summary>
public void QueueSave() public void QueueSave()
{ {
this.isSaveQueued = true; this.isSaveQueued = true;
} }
/// <summary>
/// Immediately save the configuration.
/// </summary>
public void ForceSave()
{
this.Save();
}
/// <summary> /// <summary>
/// Save the file, if needed. Only needs to be done once a frame. /// Save the file, if needed. Only needs to be done once a frame.
/// </summary> /// </summary>

View file

@ -103,6 +103,9 @@ public class BranchSwitcherWindow : Window
{ {
Pick(); Pick();
// If we exit immediately, we need to write out the new config now
Service<DalamudConfiguration>.Get().ForceSave();
var appData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); var appData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
var xlPath = Path.Combine(appData, "XIVLauncher", "XIVLauncher.exe"); var xlPath = Path.Combine(appData, "XIVLauncher", "XIVLauncher.exe");