fix: small changes and fixes for applet switching
This commit is contained in:
parent
3b568b61ba
commit
d7cdb5584c
@ -321,17 +321,17 @@ namespace Ryujinx.HLE.HOS.Applets
|
||||
{
|
||||
lock (_homeMenu.Lock)
|
||||
{
|
||||
_homeMenu.AppletState.PushUnorderedMessage(message);
|
||||
if (message == AppletMessage.DetectShortPressingHomeButton)
|
||||
{
|
||||
foreach (var applet in _applets.Values)
|
||||
{
|
||||
if (applet != _homeMenu)
|
||||
if (applet != _homeMenu && _foregroundRequestedApplet==applet)
|
||||
{
|
||||
applet.ProcessHandle.SetActivity(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
_homeMenu.AppletState.PushUnorderedMessage(message);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -22,6 +22,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
|
||||
{
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceAm);
|
||||
context.Device.System.WindowSystem.RequestApplicationToGetForeground(_pid);
|
||||
context.Device.System.GetAppletState(_pid).SetFocusForce(true);
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
@ -442,16 +442,19 @@ namespace Ryujinx.HLE.Loaders.Processes
|
||||
|
||||
// Register everything in arp service.
|
||||
device.System.ServiceTable.ArpWriter.AcquireRegistrar(out IRegistrar registrar);
|
||||
registrar.SetApplicationControlProperty(MemoryMarshal.Cast<byte, Horizon.Sdk.Ns.ApplicationControlProperty>(applicationControlProperties.ByteSpan)[0]);
|
||||
// TODO: Handle Version and StorageId when it will be needed.
|
||||
registrar.SetApplicationLaunchProperty(new ApplicationLaunchProperty()
|
||||
if (registrar != null)
|
||||
{
|
||||
ApplicationId = new Horizon.Sdk.Ncm.ApplicationId(programId),
|
||||
Version = 0x00,
|
||||
Storage = Horizon.Sdk.Ncm.StorageId.BuiltInUser,
|
||||
PatchStorage = Horizon.Sdk.Ncm.StorageId.None,
|
||||
ApplicationKind = ApplicationKind.Application,
|
||||
});
|
||||
registrar.SetApplicationControlProperty(MemoryMarshal.Cast<byte, Horizon.Sdk.Ns.ApplicationControlProperty>(applicationControlProperties.ByteSpan)[0]);
|
||||
// TODO: Handle Version and StorageId when it will be needed.
|
||||
registrar.SetApplicationLaunchProperty(new ApplicationLaunchProperty()
|
||||
{
|
||||
ApplicationId = new Horizon.Sdk.Ncm.ApplicationId(programId),
|
||||
Version = 0x00,
|
||||
Storage = Horizon.Sdk.Ncm.StorageId.BuiltInUser,
|
||||
PatchStorage = Horizon.Sdk.Ncm.StorageId.None,
|
||||
ApplicationKind = ApplicationKind.Application,
|
||||
});
|
||||
}
|
||||
|
||||
device.System.ServiceTable.ArpReader.GetApplicationInstanceId(out ulong applicationInstanceId, process.Pid);
|
||||
device.System.ServiceTable.ArpWriter.AcquireApplicationProcessPropertyUpdater(out IUpdater updater, applicationInstanceId);
|
||||
|
Loading…
x
Reference in New Issue
Block a user