From a4e427823eee484b1b2475073995dbad0abd56b9 Mon Sep 17 00:00:00 2001 From: plutoo Date: Sat, 10 Mar 2018 15:05:47 +0100 Subject: [PATCH] Let nv reference applet --- nx/include/switch/result.h | 1 + nx/source/services/nv.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/nx/include/switch/result.h b/nx/include/switch/result.h index 1f8f43fd..6ad0bced 100644 --- a/nx/include/switch/result.h +++ b/nx/include/switch/result.h @@ -72,6 +72,7 @@ enum { LibnxError_IncompatSysVer, LibnxError_InitFail_Time, LibnxError_TooManyDevOpTabs, + LibnxError_AppletFailedToInitialize, }; /// libnx nvidia error codes diff --git a/nx/source/services/nv.c b/nx/source/services/nv.c index 0cde75a0..bcbd5662 100644 --- a/nx/source/services/nv.c +++ b/nx/source/services/nv.c @@ -20,6 +20,9 @@ Result nvInitialize(size_t transfermem_size) if (serviceIsActive(&g_nvSrv)) return MAKERESULT(Module_Libnx, LibnxError_AlreadyInitialized); + if (R_FAILED(appletInitialize())) + return MAKERESULT(Module_Libnx, LibnxError_AppletFailedToInitialize); + Result rc = 0; u64 AppletResourceUserId = 0; @@ -59,6 +62,7 @@ Result nvInitialize(size_t transfermem_size) } if (R_FAILED(rc)) { + appletExit(); nvExit(); } @@ -67,6 +71,7 @@ Result nvInitialize(size_t transfermem_size) void nvExit(void) { + appletExit(); serviceClose(&g_nvSrv); tmemClose(&g_nvTransfermem); }