diff --git a/dll/win32/kernel32/client/vdm.c b/dll/win32/kernel32/client/vdm.c index 07f65a3101c..c37a3cf3589 100644 --- a/dll/win32/kernel32/client/vdm.c +++ b/dll/win32/kernel32/client/vdm.c @@ -401,17 +401,8 @@ BaseCheckVDM(IN ULONG BinaryType, CSR_CREATE_API_NUMBER(BASESRV_SERVERDLL_INDEX, BasepCheckVDM), sizeof(BASE_CHECK_VDM)); - /* Check if there is no console */ - if (CheckVdm->ConsoleHandle == NULL) - { - /* Write back the task ID */ - *iTask = CheckVdm->iTask; - } - else - { - /* Otherwise, iTask should be zero */ - *iTask = 0; - } + /* Write back the task ID */ + *iTask = CheckVdm->iTask; Cleanup: diff --git a/subsystems/win/basesrv/vdm.c b/subsystems/win/basesrv/vdm.c index 4f6aad31705..41566204693 100644 --- a/subsystems/win/basesrv/vdm.c +++ b/subsystems/win/basesrv/vdm.c @@ -665,7 +665,13 @@ CSR_API(BaseSrvCheckVDM) InsertTailList(&VDMConsoleListHead, &ConsoleRecord->Entry); } - CheckVdmRequest->iTask = ConsoleRecord->SessionId; + if (ConsoleRecord->ConsoleHandle == NULL) + { + /* The parent doesn't have a console, so return the session ID */ + CheckVdmRequest->iTask = ConsoleRecord->SessionId; + } + else CheckVdmRequest->iTask = 0; + CheckVdmRequest->VDMState = NewConsoleRecord ? VDM_NOT_LOADED : VDM_READY; Status = STATUS_SUCCESS; }