fix: stopped overlayDisp from crashing
This commit is contained in:
parent
125edb894b
commit
8bc5d1e61d
@ -24,6 +24,8 @@ namespace Ryujinx.HLE.HOS.Applets
|
|||||||
case AppletId.LibAppletWeb:
|
case AppletId.LibAppletWeb:
|
||||||
case AppletId.LibAppletShop:
|
case AppletId.LibAppletShop:
|
||||||
case AppletId.LibAppletOff:
|
case AppletId.LibAppletOff:
|
||||||
|
case AppletId.LibAppletOffFw17:
|
||||||
|
case AppletId.LibAppletOff2Fw17:
|
||||||
return new BrowserApplet();
|
return new BrowserApplet();
|
||||||
case AppletId.Cabinet:
|
case AppletId.Cabinet:
|
||||||
return new CabinetApplet(system);
|
return new CabinetApplet(system);
|
||||||
|
@ -318,20 +318,21 @@ namespace Ryujinx.HLE.HOS.Applets
|
|||||||
|
|
||||||
private void SendButtonAppletMessageLocked(AppletMessage message)
|
private void SendButtonAppletMessageLocked(AppletMessage message)
|
||||||
{
|
{
|
||||||
|
if (message == AppletMessage.DetectShortPressingHomeButton)
|
||||||
|
{
|
||||||
|
foreach (var applet in _applets.Values)
|
||||||
|
{
|
||||||
|
if (applet != _homeMenu && applet != _overlayDisp && _foregroundRequestedApplet==applet)
|
||||||
|
{
|
||||||
|
applet.ProcessHandle.SetActivity(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (_homeMenu != null)
|
if (_homeMenu != null)
|
||||||
{
|
{
|
||||||
lock (_homeMenu.Lock)
|
lock (_homeMenu.Lock)
|
||||||
{
|
{
|
||||||
if (message == AppletMessage.DetectShortPressingHomeButton)
|
|
||||||
{
|
|
||||||
foreach (var applet in _applets.Values)
|
|
||||||
{
|
|
||||||
if (applet != _homeMenu && _foregroundRequestedApplet==applet)
|
|
||||||
{
|
|
||||||
applet.ProcessHandle.SetActivity(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
_homeMenu.AppletState.PushUnorderedMessage(message);
|
_homeMenu.AppletState.PushUnorderedMessage(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -621,7 +622,7 @@ namespace Ryujinx.HLE.HOS.Applets
|
|||||||
public void PauseOldWindows(ulong pid)
|
public void PauseOldWindows(ulong pid)
|
||||||
{
|
{
|
||||||
RealApplet applet = GetByAruId(pid);
|
RealApplet applet = GetByAruId(pid);
|
||||||
if (applet?.CallerApplet != null&&applet?.CallerApplet!=_homeMenu)
|
if (applet?.CallerApplet != null&&applet?.CallerApplet!=_homeMenu&&applet?.CallerApplet!=_overlayDisp)
|
||||||
{
|
{
|
||||||
applet.CallerApplet.ProcessHandle.SetActivity(true);
|
applet.CallerApplet.ProcessHandle.SetActivity(true);
|
||||||
}
|
}
|
||||||
|
@ -318,6 +318,14 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
|
|||||||
|
|
||||||
return ResultCode.Success;
|
return ResultCode.Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[CommandCmif(68)]
|
||||||
|
// GetBuiltInDisplayType() -> u32 type
|
||||||
|
public ResultCode GetBuiltInDisplayType(ServiceCtx context)
|
||||||
|
{
|
||||||
|
context.ResponseData.Write(0);
|
||||||
|
return ResultCode.Success;
|
||||||
|
}
|
||||||
|
|
||||||
[CommandCmif(91)] // 7.0.0+
|
[CommandCmif(91)] // 7.0.0+
|
||||||
// GetCurrentPerformanceConfiguration() -> nn::apm::PerformanceConfiguration
|
// GetCurrentPerformanceConfiguration() -> nn::apm::PerformanceConfiguration
|
||||||
|
@ -20,6 +20,8 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE
|
|||||||
PhotoViewer = 0x15,
|
PhotoViewer = 0x15,
|
||||||
Settings = 0x16,
|
Settings = 0x16,
|
||||||
LibAppletOff = 0x17,
|
LibAppletOff = 0x17,
|
||||||
|
LibAppletOffFw17 = 0x32,
|
||||||
|
LibAppletOff2Fw17 = 0x33,
|
||||||
LibAppletWhitelisted = 0x18,
|
LibAppletWhitelisted = 0x18,
|
||||||
LibAppletAuth = 0x19,
|
LibAppletAuth = 0x19,
|
||||||
MyPage = 0x1A,
|
MyPage = 0x1A,
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
using Ryujinx.Common.Logging;
|
using Ryujinx.Common.Logging;
|
||||||
|
using Ryujinx.HLE.HOS.Ipc;
|
||||||
|
using Ryujinx.HLE.HOS.Kernel.Threading;
|
||||||
|
|
||||||
namespace Ryujinx.HLE.HOS.Services.Audio
|
namespace Ryujinx.HLE.HOS.Services.Audio
|
||||||
{
|
{
|
||||||
@ -80,6 +82,16 @@ namespace Ryujinx.HLE.HOS.Services.Audio
|
|||||||
return ResultCode.Success;
|
return ResultCode.Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[CommandCmif(34)]
|
||||||
|
// AcquireTargetNotification() -> handle<copy>
|
||||||
|
public ResultCode AcquireTargetNotification(ServiceCtx context)
|
||||||
|
{
|
||||||
|
KEvent ev = new KEvent(context.Device.System.KernelContext);
|
||||||
|
context.Process.HandleTable.GenerateHandle(ev.ReadableEvent, out int handle);
|
||||||
|
context.Response.HandleDesc = IpcHandleDesc.MakeCopy(handle);
|
||||||
|
return ResultCode.Success;
|
||||||
|
}
|
||||||
|
|
||||||
[CommandCmif(5000)]
|
[CommandCmif(5000)]
|
||||||
// Unknown5000() -> bool // 19.0.0+
|
// Unknown5000() -> bool // 19.0.0+
|
||||||
public ResultCode Unknown5000(ServiceCtx context)
|
public ResultCode Unknown5000(ServiceCtx context)
|
||||||
|
@ -967,7 +967,7 @@ namespace Ryujinx.Ava
|
|||||||
ConfigurationState.Instance.Multiplayer.LdnServer,
|
ConfigurationState.Instance.Multiplayer.LdnServer,
|
||||||
ConfigurationState.Instance.Graphics.CustomVSyncInterval.Value,
|
ConfigurationState.Instance.Graphics.CustomVSyncInterval.Value,
|
||||||
ConfigurationState.Instance.Hacks.ShowDirtyHacks ? ConfigurationState.Instance.Hacks.EnabledHacks : null));
|
ConfigurationState.Instance.Hacks.ShowDirtyHacks ? ConfigurationState.Instance.Hacks.EnabledHacks : null));
|
||||||
//Device.LoadSystemProgramId(0x010000000000100C);
|
Device.LoadSystemProgramId(0x010000000000100C);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static IHardwareDeviceDriver InitializeAudio()
|
private static IHardwareDeviceDriver InitializeAudio()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user