v2.9.9: D8A0C4E5 beim Wechsel zu Nintendo (FRD_Logout vor dem Abmelden, MBMNET-ID erst danach lösen)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Nico Meister
2026-10-19 19:06:56 +02:00
co-authored by Claude Opus 5.5
parent 23bf1abca8
commit c384c20558
3 changed files with 8 additions and 4 deletions
+4 -2
View File
@@ -88,6 +88,7 @@ bool frdswitch_slot_linked(u8 friendAccount, char *id, size_t len)
static Result unload(void)
{
note("Konto (act) abmelden", ACTA_UnloadConsoleAccount()); // ohne geladenes Konto: "ungültiger Zustand"
note("Freunde-Dienst abmelden", FRD_Logout()); // laufende Anmeldung beenden (sonst "ungültiger Zustand")
Result rc = step("Offline gehen (exklusiv)", NDMU_EnterExclusiveState(NDM_EXCLUSIVE_STATE_LOCAL_COMMUNICATIONS));
if (R_FAILED(rc)) return rc;
@@ -97,7 +98,8 @@ static Result unload(void)
svcSleepThread(100 * 1000 * 1000);
}
// Hängt der Freunde-Dienst noch an einer Anfrage, kurz wiederholen
for (int attempt = 1; attempt <= 20; attempt++) {
for (int attempt = 1; attempt <= 40; attempt++) {
if (attempt == 21) note("Freunde-Dienst erneut abmelden", FRD_Logout());
rc = FRDA_UnloadLocalAccount();
if (R_SUCCEEDED(rc)) {
if (logf) fprintf(logf, "%-36s %08lX (Versuch %d)\n", "Freundekonto abmelden", (unsigned long)rc, attempt);
@@ -105,7 +107,7 @@ static Result unload(void)
}
svcSleepThread(500 * 1000 * 1000);
}
return step("Freundekonto abmelden (10 s)", rc);
return step("Freundekonto abmelden (20 s)", rc);
}
// Freundekonto laden. "Schon geladen" (z. B. direkt nach dem Anlegen) zählt als Erfolg.