[savedata] Allow dialog reinit

This commit is contained in:
ParantezTech
2026-07-29 15:38:53 +03:00
parent 1aef9a0e6e
commit 0324d5561b
@@ -33,12 +33,17 @@ public static class SaveDataDialogExports
LibraryName = "libSceSaveDataDialog")] LibraryName = "libSceSaveDataDialog")]
public static int SaveDataDialogInitialize(CpuContext ctx) public static int SaveDataDialogInitialize(CpuContext ctx)
{ {
if (Interlocked.CompareExchange(ref _status, StatusInitialized, StatusNone) != StatusNone) var previous = Interlocked.CompareExchange(
ref _status,
StatusInitialized,
StatusNone);
if (previous == StatusNone || previous == StatusFinished)
{ {
return ctx.SetReturn(ErrorAlreadyInitialized); Interlocked.Exchange(ref _status, StatusInitialized);
return ctx.SetReturn(ErrorOk);
} }
return ctx.SetReturn(ErrorOk); return ctx.SetReturn(ErrorAlreadyInitialized);
} }
[SysAbiExport( [SysAbiExport(