- Remove client thread information from w32 thread information.
authorJames Tabor <james.tabor@reactos.org>
Tue, 12 May 2009 01:56:39 +0000 (01:56 +0000)
committerJames Tabor <james.tabor@reactos.org>
Tue, 12 May 2009 01:56:39 +0000 (01:56 +0000)
svn path=/trunk/; revision=40892

reactos/include/reactos/win32k/ntuser.h
reactos/subsystems/win32/win32k/include/win32.h
reactos/subsystems/win32/win32k/main/dllmain.c
reactos/subsystems/win32/win32k/ntuser/message.c
reactos/subsystems/win32/win32k/ntuser/misc.c

index e059ccf..d96dc01 100644 (file)
@@ -366,11 +366,7 @@ typedef struct _W32THREADINFO
 {
     PPROCESSINFO ppi; /* [KERNEL] */
     PDESKTOPINFO pDeskInfo;
-//    PVOID DesktopHeapBase;
-//    ULONG_PTR DesktopHeapLimit;
-    /* A mask of what hooks are currently active */
     ULONG fsHooks;
-    CLIENTTHREADINFO ClientThreadInfo;
 } W32THREADINFO, *PW32THREADINFO;
 
 /* Window Client Information structure */
index 64a44db..416954f 100644 (file)
@@ -45,6 +45,8 @@ typedef struct _THREADINFO
     ULONG               fsHooks;
     LIST_ENTRY          PtiLink;
 
+    CLIENTTHREADINFO    cti;  // Used only when no Desktop or pcti NULL.
+
   LIST_ENTRY WindowListHead;
   LIST_ENTRY W32CallbackListHead;
   BOOLEAN IsExiting;
index b8d965f..e044448 100644 (file)
@@ -280,11 +280,6 @@ Win32kThreadCallback(struct _ETHREAD *Thread,
       }
       Win32Thread->MessageQueue = MsqCreateMessageQueue(Thread);
       Win32Thread->KeyboardLayout = W32kGetDefaultKeyLayout();
-      if (Win32Thread->ThreadInfo)
-      {
-          Win32Thread->ThreadInfo->ClientThreadInfo.dwcPumpHook = 0;
-//          Win32Thread->pClientInfo->pClientThreadInfo = &Win32Thread->ThreadInfo->ClientThreadInfo;
-      }
     }
   else
     {
index e5a1493..16d87ea 100644 (file)
@@ -1998,7 +1998,7 @@ IntInitMessagePumpHook()
 {
    if (((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo)
    {
-     ((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo->ClientThreadInfo.dwcPumpHook++;
+     ((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->pcti->dwcPumpHook++;
      return TRUE;
    }
    return FALSE;
@@ -2009,11 +2009,11 @@ IntUninitMessagePumpHook()
 {
    if (((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo)
    {
-      if (((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo->ClientThreadInfo.dwcPumpHook <= 0)
+      if (((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->pcti->dwcPumpHook <= 0)
       {
          return FALSE;
       }
-      ((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo->ClientThreadInfo.dwcPumpHook--;
+      ((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->pcti->dwcPumpHook--;
       return TRUE;
    }
    return FALSE;
index c874ce2..3bcce70 100644 (file)
@@ -525,8 +525,7 @@ GetW32ThreadInfo(VOID)
             /* initialize it */
             ti->ppi = GetW32ProcessInfo();
             ti->fsHooks = W32Thread->fsHooks;
-//            W32Thread->pcti = &ti->ClientThreadInfo;
-            W32Thread->pcti = NULL; // FIXME
+            W32Thread->pcti = &W32Thread->cti; // FIXME
             if (W32Thread->Desktop != NULL)
             {
                 ti->pDeskInfo = W32Thread->Desktop->DesktopInfo;