summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/hle/service/am/applet_manager.cpp18
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
38void 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
38void PushInShowAlbum(Core::System& system, AppletStorageChannel& channel) { 53void 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;