From 194e335532e8608970cd38f4621ba95e1dd777bc Mon Sep 17 00:00:00 2001 From: plutooo 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 a48711bc..2cf43824 100644 --- a/nx/include/switch/result.h +++ b/nx/include/switch/result.h @@ -74,6 +74,7 @@ enum { LibnxError_TooManyDevOpTabs, LibnxError_DomainMessageUnknownType, LibnxError_DomainMessageTooManyObjectIds, + LibnxError_AppletFailedToInitialize, }; /// libnx nvidia error codes diff --git a/nx/source/services/nv.c b/nx/source/services/nv.c index 5e520d1d..53861963 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); }