diff --git a/nx/source/applets/swkbd.c b/nx/source/applets/swkbd.c index cc1d7928..9956b5d0 100644 --- a/nx/source/applets/swkbd.c +++ b/nx/source/applets/swkbd.c @@ -493,14 +493,19 @@ static Result _swkbdInlineLaunch(SwkbdInline* s, SwkbdInitializeArg *initArg) { rc = appletCreateLibraryApplet(&s->holder, AppletId_swkbd, s->calcArg.initArg.mode!=SwkbdInlineMode_UserDisplay ? LibAppletMode_Background : LibAppletMode_BackgroundIndirect); if (R_FAILED(rc)) return rc; + if (hosversionAtLeast(10,0,0)) + rc = appletHolderPresetLibraryAppletGpuTimeSliceZero(&s->holder); + LibAppletArgs commonargs; libappletArgsCreate(&commonargs, s->version); - rc = libappletArgsPush(&commonargs, &s->holder); + if (R_SUCCEEDED(rc)) rc = libappletArgsPush(&commonargs, &s->holder); if (R_SUCCEEDED(rc)) rc = libappletPushInData(&s->holder, &s->calcArg.initArg, sizeof(s->calcArg.initArg)); if (R_SUCCEEDED(rc)) rc = appletHolderStart(&s->holder); + if (R_FAILED(rc)) appletHolderClose(&s->holder); + return rc; }