diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/am/applet_manager.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/core/hle/service/am/applet_manager.cpp b/src/core/hle/service/am/applet_manager.cpp index 4c7266f89..2e109181d 100644 --- a/src/core/hle/service/am/applet_manager.cpp +++ b/src/core/hle/service/am/applet_manager.cpp | |||
| @@ -35,6 +35,21 @@ AppletStorageChannel& InitializeFakeCallerApplet(Core::System& system, | |||
| 35 | return applet->caller_applet_broker->GetInData(); | 35 | return applet->caller_applet_broker->GetInData(); |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | void PushInShowQlaunch(Core::System& system, AppletStorageChannel& channel) { | ||
| 39 | const CommonArguments arguments{ | ||
| 40 | .arguments_version = CommonArgumentVersion::Version3, | ||
| 41 | .size = CommonArgumentSize::Version3, | ||
| 42 | .library_version = 0, | ||
| 43 | .theme_color = ThemeColor::BasicBlack, | ||
| 44 | .play_startup_sound = true, | ||
| 45 | .system_tick = system.CoreTiming().GetClockTicks(), | ||
| 46 | }; | ||
| 47 | |||
| 48 | std::vector<u8> argument_data(sizeof(arguments)); | ||
| 49 | std::memcpy(argument_data.data(), &arguments, sizeof(arguments)); | ||
| 50 | channel.Push(std::make_shared<IStorage>(system, std::move(argument_data))); | ||
| 51 | } | ||
| 52 | |||
| 38 | void PushInShowAlbum(Core::System& system, AppletStorageChannel& channel) { | 53 | void PushInShowAlbum(Core::System& system, AppletStorageChannel& channel) { |
| 39 | const CommonArguments arguments{ | 54 | const CommonArguments arguments{ |
| 40 | .arguments_version = CommonArgumentVersion::Version3, | 55 | .arguments_version = CommonArgumentVersion::Version3, |
| @@ -284,6 +299,9 @@ void AppletManager::CreateAndInsertByFrontendAppletParameters( | |||
| 284 | 299 | ||
| 285 | // Starting from frontend, some applets require input data. | 300 | // Starting from frontend, some applets require input data. |
| 286 | switch (applet->applet_id) { | 301 | switch (applet->applet_id) { |
| 302 | case AppletId::QLaunch: | ||
| 303 | PushInShowQlaunch(m_system, InitializeFakeCallerApplet(m_system, applet)); | ||
| 304 | break; | ||
| 287 | case AppletId::Cabinet: | 305 | case AppletId::Cabinet: |
| 288 | PushInShowCabinetData(m_system, InitializeFakeCallerApplet(m_system, applet)); | 306 | PushInShowCabinetData(m_system, InitializeFakeCallerApplet(m_system, applet)); |
| 289 | break; | 307 | break; |