diff options
| author | 2024-02-14 19:13:43 -0600 | |
|---|---|---|
| committer | 2024-02-16 12:13:10 -0600 | |
| commit | dbcc447f43a3f348a38c6d6656a285cadf903700 (patch) | |
| tree | b774b70b89aa8ef7d57deadcddc6e0745afcbf01 | |
| parent | service: am: Add QLaunch launcher (diff) | |
| download | yuzu-dbcc447f43a3f348a38c6d6656a285cadf903700.tar.gz yuzu-dbcc447f43a3f348a38c6d6656a285cadf903700.tar.xz yuzu-dbcc447f43a3f348a38c6d6656a285cadf903700.zip | |
service: am: Fix GetMainAppletAvailableUsers for user creation
3 files changed, 6 insertions, 7 deletions
diff --git a/src/core/hle/service/acc/profile_manager.cpp b/src/core/hle/service/acc/profile_manager.cpp index 29a10ad13..ee9795532 100644 --- a/src/core/hle/service/acc/profile_manager.cpp +++ b/src/core/hle/service/acc/profile_manager.cpp | |||
| @@ -329,9 +329,8 @@ bool ProfileManager::GetProfileBaseAndData(const ProfileInfo& user, ProfileBase& | |||
| 329 | 329 | ||
| 330 | /// Returns if the system is allowing user registrations or not | 330 | /// Returns if the system is allowing user registrations or not |
| 331 | bool ProfileManager::CanSystemRegisterUser() const { | 331 | bool ProfileManager::CanSystemRegisterUser() const { |
| 332 | return false; // TODO(ogniK): Games shouldn't have | 332 | // TODO: Both games and applets can register users. Determine when this condition is not meet. |
| 333 | // access to user registration, when we | 333 | return true; |
| 334 | // emulate qlaunch. Update this to dynamically change. | ||
| 335 | } | 334 | } |
| 336 | 335 | ||
| 337 | bool ProfileManager::RemoveUser(UUID uuid) { | 336 | bool ProfileManager::RemoveUser(UUID uuid) { |
diff --git a/src/core/hle/service/am/service/library_applet_self_accessor.cpp b/src/core/hle/service/am/service/library_applet_self_accessor.cpp index 7a3a86e88..94bd4dae6 100644 --- a/src/core/hle/service/am/service/library_applet_self_accessor.cpp +++ b/src/core/hle/service/am/service/library_applet_self_accessor.cpp | |||
| @@ -284,17 +284,17 @@ Result ILibraryAppletSelfAccessor::GetCurrentApplicationId(Out<u64> out_applicat | |||
| 284 | } | 284 | } |
| 285 | 285 | ||
| 286 | Result ILibraryAppletSelfAccessor::GetMainAppletAvailableUsers( | 286 | Result ILibraryAppletSelfAccessor::GetMainAppletAvailableUsers( |
| 287 | Out<bool> out_no_users_available, Out<s32> out_users_count, | 287 | Out<bool> out_can_select_any_user, Out<s32> out_users_count, |
| 288 | OutArray<Common::UUID, BufferAttr_HipcMapAlias> out_users) { | 288 | OutArray<Common::UUID, BufferAttr_HipcMapAlias> out_users) { |
| 289 | const Service::Account::ProfileManager manager{}; | 289 | const Service::Account::ProfileManager manager{}; |
| 290 | 290 | ||
| 291 | *out_no_users_available = true; | 291 | *out_can_select_any_user = false; |
| 292 | *out_users_count = -1; | 292 | *out_users_count = -1; |
| 293 | 293 | ||
| 294 | LOG_INFO(Service_AM, "called"); | 294 | LOG_INFO(Service_AM, "called"); |
| 295 | 295 | ||
| 296 | if (manager.GetUserCount() > 0) { | 296 | if (manager.GetUserCount() > 0) { |
| 297 | *out_no_users_available = false; | 297 | *out_can_select_any_user = true; |
| 298 | *out_users_count = static_cast<s32>(manager.GetUserCount()); | 298 | *out_users_count = static_cast<s32>(manager.GetUserCount()); |
| 299 | 299 | ||
| 300 | const auto users = manager.GetAllUsers(); | 300 | const auto users = manager.GetAllUsers(); |
diff --git a/src/core/hle/service/am/service/library_applet_self_accessor.h b/src/core/hle/service/am/service/library_applet_self_accessor.h index a9743569f..3e60393c2 100644 --- a/src/core/hle/service/am/service/library_applet_self_accessor.h +++ b/src/core/hle/service/am/service/library_applet_self_accessor.h | |||
| @@ -71,7 +71,7 @@ private: | |||
| 71 | ErrorCode error_code, InLargeData<ErrorContext, BufferAttr_HipcMapAlias> error_context); | 71 | ErrorCode error_code, InLargeData<ErrorContext, BufferAttr_HipcMapAlias> error_context); |
| 72 | Result GetMainAppletApplicationDesiredLanguage(Out<u64> out_desired_language); | 72 | Result GetMainAppletApplicationDesiredLanguage(Out<u64> out_desired_language); |
| 73 | Result GetCurrentApplicationId(Out<u64> out_application_id); | 73 | Result GetCurrentApplicationId(Out<u64> out_application_id); |
| 74 | Result GetMainAppletAvailableUsers(Out<bool> out_no_users_available, Out<s32> out_users_count, | 74 | Result GetMainAppletAvailableUsers(Out<bool> out_can_select_any_user, Out<s32> out_users_count, |
| 75 | OutArray<Common::UUID, BufferAttr_HipcMapAlias> out_users); | 75 | OutArray<Common::UUID, BufferAttr_HipcMapAlias> out_users); |
| 76 | Result ShouldSetGpuTimeSliceManually(Out<bool> out_should_set_gpu_time_slice_manually); | 76 | Result ShouldSetGpuTimeSliceManually(Out<bool> out_should_set_gpu_time_slice_manually); |
| 77 | Result Cmd160(Out<u64> out_unknown0); | 77 | Result Cmd160(Out<u64> out_unknown0); |