From fdd786d226e2605658be7b4af6249fd0497a1f0f Mon Sep 17 00:00:00 2001 From: Adrian <78108584+AdrianCassar@users.noreply.github.com> Date: Tue, 23 Sep 2025 21:37:08 +0100 Subject: [PATCH] [XAM] Fixed returned error codes in XamUserReadProfileSettingsEx --- src/xenia/kernel/xam/xam_user.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/xenia/kernel/xam/xam_user.cc b/src/xenia/kernel/xam/xam_user.cc index 0f8019658..58426b490 100644 --- a/src/xenia/kernel/xam/xam_user.cc +++ b/src/xenia/kernel/xam/xam_user.cc @@ -255,22 +255,28 @@ uint32_t XamUserReadProfileSettingsEx(uint32_t title_id, uint32_t user_index, } auto run = [=](uint32_t& extended_error, uint32_t& length) { + extended_error = 0; + length = 0; + auto user_profile = kernel_state()->xam_state()->GetUserProfile(user_index); if (!user_profile && !xuids) { - return X_ERROR_NO_SUCH_USER; + extended_error = X_E_NO_SUCH_USER; + return X_ERROR_FUNCTION_FAILED; } if (xuids) { uint64_t user_xuid = static_cast(xuids[0]); if (!kernel_state()->xam_state()->IsUserSignedIn(user_xuid)) { - return X_ERROR_NO_SUCH_USER; + extended_error = X_E_NO_SUCH_USER; + return X_ERROR_FUNCTION_FAILED; } user_profile = kernel_state()->xam_state()->GetUserProfile(user_xuid); } if (!user_profile) { - return X_ERROR_NO_SUCH_USER; + extended_error = X_E_NO_SUCH_USER; + return X_ERROR_FUNCTION_FAILED; } auto out_header = reinterpret_cast(buffer);