From 5c5affcc22006ce710504252c841b4b7873568d8 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Tue, 21 Oct 2014 03:02:07 +0000 Subject: [PATCH] [Win32k] - rpdeskParent can be NULL and should not be depended on! Fixes CORE-8665. svn path=/trunk/; revision=64859 --- reactos/win32ss/user/ntuser/callproc.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/reactos/win32ss/user/ntuser/callproc.c b/reactos/win32ss/user/ntuser/callproc.c index 970f7b29c35..801000cb458 100644 --- a/reactos/win32ss/user/ntuser/callproc.c +++ b/reactos/win32ss/user/ntuser/callproc.c @@ -7,6 +7,7 @@ */ #include +DBG_DEFAULT_CHANNEL(UserClass); /* CALLPROC ******************************************************************/ @@ -110,6 +111,7 @@ UserGetCPD( { PCLS pCls; PWND pWnd; + PDESKTOP pDesk; PCALLPROCDATA CallProc = NULL; PTHREADINFO pti; @@ -131,7 +133,14 @@ UserGetCPD( // No luck, create a new one for the requested proc. if (!CallProc) { - CallProc = CreateCallProc( pCls->rpdeskParent, + if (!pCls->rpdeskParent) + { + TRACE("Null DESKTOP Atom %d\n",pCls->atomClassName); + pDesk = pti->rpdesk; + } + else + pDesk = pCls->rpdeskParent; + CallProc = CreateCallProc( pDesk, (WNDPROC)ProcIn, !!(Flags & UserGetCPDA2U), pti->ppi);