diff --git a/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c b/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c index de9eea6053a..6dc4249dbe8 100644 --- a/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c +++ b/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c @@ -48,14 +48,25 @@ VOID SetConWndConsoleLeaderCID(IN PGUI_CONSOLE_DATA GuiData) { PCONSOLE_PROCESS_DATA ProcessData; - CLIENT_ID ConsoleLeaderCID; ProcessData = ConSrvGetConsoleLeaderProcess(GuiData->Console); - ConsoleLeaderCID = ProcessData->Process->ClientId; - SetWindowLongPtrW(GuiData->hWindow, GWLP_CONSOLE_LEADER_PID, - (LONG_PTR)(ConsoleLeaderCID.UniqueProcess)); - SetWindowLongPtrW(GuiData->hWindow, GWLP_CONSOLE_LEADER_TID, - (LONG_PTR)(ConsoleLeaderCID.UniqueThread)); + + DPRINT("ProcessData: %p, ProcessData->Process %p.\n", ProcessData, ProcessData->Process); + ASSERT(ProcessData != NULL); + + if (ProcessData->Process) + { + CLIENT_ID ConsoleLeaderCID = ProcessData->Process->ClientId; + SetWindowLongPtrW(GuiData->hWindow, GWLP_CONSOLE_LEADER_PID, + (LONG_PTR)(ConsoleLeaderCID.UniqueProcess)); + SetWindowLongPtrW(GuiData->hWindow, GWLP_CONSOLE_LEADER_TID, + (LONG_PTR)(ConsoleLeaderCID.UniqueThread)); + } + else + { + SetWindowLongPtrW(GuiData->hWindow, GWLP_CONSOLE_LEADER_PID, 0); + SetWindowLongPtrW(GuiData->hWindow, GWLP_CONSOLE_LEADER_TID, 0); + } } /**************************************************************/