[ros-diffs] [jimtabor] 32890: - Remove old pump hook and use new client thread information. Tested with Qemu and installed and run more than twice FF 1.5.03.

jimtabor at svn.reactos.org jimtabor at svn.reactos.org
Mon Apr 7 21:02:21 CEST 2008


Author: jimtabor
Date: Mon Apr  7 14:02:21 2008
New Revision: 32890

URL: http://svn.reactos.org/svn/reactos?rev=32890&view=rev
Log:
- Remove old pump hook and use new client thread information. Tested with Qemu and installed and run more than twice FF 1.5.03.

Modified:
    trunk/reactos/subsystems/win32/win32k/include/win32.h
    trunk/reactos/subsystems/win32/win32k/main/dllmain.c
    trunk/reactos/subsystems/win32/win32k/ntuser/message.c

Modified: trunk/reactos/subsystems/win32/win32k/include/win32.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/include/win32.h?rev=32890&r1=32889&r2=32890&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/win32.h [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/include/win32.h [iso-8859-1] Mon Apr  7 14:02:21 2008
@@ -11,7 +11,8 @@
   struct _KBL* KeyboardLayout;
   struct _DESKTOP_OBJECT* Desktop;
   HANDLE hDesktop;
-  DWORD MessagePumpHookValue;
+  PVOID pgdiDcattr;
+  PVOID pgdiBrushAttr;
   BOOLEAN IsExiting;
   SINGLE_LIST_ENTRY  ReferencesList;
   ULONG Hooks;

Modified: trunk/reactos/subsystems/win32/win32k/main/dllmain.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/main/dllmain.c?rev=32890&r1=32889&r2=32890&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/main/dllmain.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/main/dllmain.c [iso-8859-1] Mon Apr  7 14:02:21 2008
@@ -266,7 +266,8 @@
       co_IntDestroyCaret(Win32Thread);
       Win32Thread->MessageQueue = MsqCreateMessageQueue(Thread);
       Win32Thread->KeyboardLayout = W32kGetDefaultKeyLayout();
-      Win32Thread->MessagePumpHookValue = 0;
+      if (Win32Thread->ThreadInfo)
+          Win32Thread->ThreadInfo->ClientThreadInfo.dwcPumpHook = 0;
     }
   else
     {

Modified: trunk/reactos/subsystems/win32/win32k/ntuser/message.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntuser/message.c?rev=32890&r1=32889&r2=32890&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/message.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/message.c [iso-8859-1] Mon Apr  7 14:02:21 2008
@@ -1822,19 +1822,27 @@
 BOOL STDCALL
 IntInitMessagePumpHook()
 {
-   ((PW32THREAD)PsGetCurrentThread()->Tcb.Win32Thread)->MessagePumpHookValue++;
-   return TRUE;
+   if (((PW32THREAD)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo)
+   {
+     ((PW32THREAD)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo->ClientThreadInfo.dwcPumpHook++;
+     return TRUE;
+   }
+   return FALSE;
 }
 
 BOOL STDCALL
 IntUninitMessagePumpHook()
 {
-   if (((PW32THREAD)PsGetCurrentThread()->Tcb.Win32Thread)->MessagePumpHookValue <= 0)
-   {
-      return FALSE;
-   }
-   ((PW32THREAD)PsGetCurrentThread()->Tcb.Win32Thread)->MessagePumpHookValue--;
-   return TRUE;
+   if (((PW32THREAD)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo)
+   {
+      if (((PW32THREAD)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo->ClientThreadInfo.dwcPumpHook <= 0)
+      {
+         return FALSE;
+      }
+      ((PW32THREAD)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo->ClientThreadInfo.dwcPumpHook--;
+      return TRUE;
+   }
+   return FALSE;
 }
 
 /* EOF */



More information about the Ros-diffs mailing list