vi: fix manager/system service init

This commit is contained in:
Michael Scire 2019-07-15 15:07:05 -07:00 committed by fincs
parent 933cfb543d
commit 463c0f3379

View File

@ -48,12 +48,12 @@ Result viInitialize(ViServiceType service_type)
struct { struct {
u64 magic; u64 magic;
u64 cmd_id; u64 cmd_id;
u64 inval0; u64 inval;
} raw; } raw;
raw.magic = SFCI_MAGIC; raw.magic = SFCI_MAGIC;
raw.cmd_id = g_viServiceType; // ViServiceType matches the cmdid needed to open an IApplicationDisplayService session. raw.cmd_id = g_viServiceType; // ViServiceType matches the cmdid needed to open an IApplicationDisplayService session.
raw.inval0 = 0; raw.inval = (g_viServiceType == ViServiceType_Manager || g_viServiceType == ViServiceType_System) ? 1 : 0;
rc = _viGetSession(&root_srv, &g_viIApplicationDisplayService, &raw, sizeof(raw)); rc = _viGetSession(&root_srv, &g_viIApplicationDisplayService, &raw, sizeof(raw));
serviceClose(&root_srv); serviceClose(&root_srv);
@ -733,7 +733,7 @@ static Result _viCreateStrayLayer(const ViDisplay *display, u32 layer_flags, u64
raw->layer_flags = layer_flags; raw->layer_flags = layer_flags;
raw->pad = 0; raw->pad = 0;
raw->display_id = display->display_id; raw->display_id = display->display_id;
Result rc=0; Result rc=0;
if (!serviceIsActive(target_srv)) rc = MAKERESULT(Module_Libnx, LibnxError_NotInitialized); if (!serviceIsActive(target_srv)) rc = MAKERESULT(Module_Libnx, LibnxError_NotInitialized);
if (R_SUCCEEDED(rc)) rc = serviceIpcDispatch(target_srv); if (R_SUCCEEDED(rc)) rc = serviceIpcDispatch(target_srv);