Fixed configuration migration not performing correctly

This commit is contained in:
RisaDev
2024-01-10 00:12:54 +03:00
parent a9700f234c
commit e77037ff09
3 changed files with 15 additions and 32 deletions

View File

@@ -94,24 +94,15 @@ public class ProfileFileSystem : FileSystem<Profile>, IDisposable, ISavable
private void Reload()
{
if (Load(new FileInfo(_saveService.FileNames.ProfileFileSystem), _profileManager.Profiles, ProfileToIdentifier, ProfileToName))
if (!File.Exists(_saveService.FileNames.ProfileFileSystem))
{
var shouldReloadAgain = false;
if (!File.Exists(_saveService.FileNames.ProfileFileSystem))
shouldReloadAgain = true;
_saveService.ImmediateSave(this);
//this is a workaround for FileSystem's weird behavior where it doesn't load objects into itself if its file does not exist
if (shouldReloadAgain)
{
_logger.Debug("BUG WORKAROUND: reloading profile filesystem again");
Reload();
return;
}
_logger.Debug("WORKAROUND: saving filesystem file");
_saveService.ImmediateSaveSync(this);
}
if (Load(new FileInfo(_saveService.FileNames.ProfileFileSystem), _profileManager.Profiles, ProfileToIdentifier, ProfileToName))
_saveService.ImmediateSave(this);
_logger.Debug("Reloaded profile filesystem.");
}