Commit in reactos on MAIN
include/napi/win32.h+11.15 -> 1.16
include/win32k/misc.h+51.8 -> 1.9
              /ntuser.h+11.134 -> 1.135
lib/user32/include/user32.h+31.27 -> 1.28
lib/user32/misc/stubs.c+1-111.62 -> 1.63
lib/user32/windows/window.c+11-11.117 -> 1.118
subsys/win32k/main/dllmain.c+4-41.73 -> 1.74
subsys/win32k/ntuser/guicheck.c+9-91.18 -> 1.19
                    /misc.c+25-11.74 -> 1.75
+60-26
9 modified files
implemented DisableProcessWindowsGhosting() (window ghosting is not yet implemented though)

reactos/include/napi
win32.h 1.15 -> 1.16
diff -u -r1.15 -r1.16
--- win32.h	5 May 2004 22:47:06 -0000	1.15
+++ win32.h	21 May 2004 10:09:31 -0000	1.16
@@ -31,6 +31,7 @@
   struct _KBDTABLES* KeyboardLayout;
   struct _WINSTATION_OBJECT* WindowStation;
   HANDLE hWindowStation;
+  ULONG Flags;
   WORD GDIObjects;
   WORD UserObjects;
   BOOLEAN CreatedWindowOrDC;

reactos/include/win32k
misc.h 1.8 -> 1.9
diff -u -r1.8 -r1.9
--- misc.h	7 Dec 2003 23:02:57 -0000	1.8
+++ misc.h	21 May 2004 10:09:31 -0000	1.9
@@ -1,6 +1,11 @@
 #ifndef __WIN32K_MISC_H
 #define __WIN32K_MISC_H
 
+/* W32PROCESS flags */
+#define W32PF_NOWINDOWGHOSTING	(0x0001)
+#define W32PF_MANUALGUICHECK	(0x0002)
+#define W32PF_CREATEDWINORDC	(0x0004)
+
 VOID
 FASTCALL
 DestroyThreadWindows(struct _ETHREAD *Thread);

reactos/include/win32k
ntuser.h 1.134 -> 1.135
diff -u -r1.134 -r1.135
--- ntuser.h	16 May 2004 19:31:06 -0000	1.134
+++ ntuser.h	21 May 2004 10:09:31 -0000	1.135
@@ -180,6 +180,7 @@
 #define ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO  0x0a
 #define ONEPARAM_ROUTINE_GETCURSORPOSITION    0x0b
 #define ONEPARAM_ROUTINE_ISWINDOWINDESTROY    0x0c
+#define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0x0d
 DWORD
 STDCALL
 NtUserCallOneParam(

reactos/lib/user32/include
user32.h 1.27 -> 1.28
diff -u -r1.27 -r1.28
--- user32.h	16 May 2004 19:31:06 -0000	1.27
+++ user32.h	21 May 2004 10:09:31 -0000	1.28
@@ -95,6 +95,9 @@
 #define NtUserIsWindowInDestroy(hWnd) \
   (BOOL)NtUserCallOneParam((DWORD)hWnd, ONEPARAM_ROUTINE_ISWINDOWINDESTROY)
 
+#define NtUserEnableProcessWindowGhosting(bEnable) \
+  NtUserCallOneParam((DWORD)bEnable, ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING)
+
 LONG WINAPI RegCloseKey(HKEY);
 LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
 LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);

reactos/lib/user32/misc
stubs.c 1.62 -> 1.63
diff -u -r1.62 -r1.63
--- stubs.c	2 May 2004 17:25:20 -0000	1.62
+++ stubs.c	21 May 2004 10:09:31 -0000	1.63
@@ -1,4 +1,4 @@
-/* $Id: stubs.c,v 1.62 2004/05/02 17:25:20 weiden Exp $
+/* $Id: stubs.c,v 1.63 2004/05/21 10:09:31 weiden Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS user32.dll
@@ -651,16 +651,6 @@
 /*
  * @unimplemented
  */
-VOID
-STDCALL 
-DisableProcessWindowsGhosting(VOID)
-{
-  UNIMPLEMENTED;
-}
-
-/*
- * @unimplemented
- */
 BOOL
 STDCALL
 GetLayeredWindowAttributes(

reactos/lib/user32/windows
window.c 1.117 -> 1.118
diff -u -r1.117 -r1.118
--- window.c	20 May 2004 04:10:01 -0000	1.117
+++ window.c	21 May 2004 10:09:31 -0000	1.118
@@ -1,4 +1,4 @@
-/* $Id: window.c,v 1.117 2004/05/20 04:10:01 royce Exp $
+/* $Id: window.c,v 1.118 2004/05/21 10:09:31 weiden Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS user32.dll
@@ -1569,5 +1569,15 @@
   return NtUserIsWindowInDestroy(hWnd);
 }
 
+/*
+ * @implemented
+ */
+VOID
+STDCALL 
+DisableProcessWindowsGhosting(VOID)
+{
+  NtUserEnableProcessWindowGhosting(FALSE);
+}
+
 /* EOF */
 	 

reactos/subsys/win32k/main
dllmain.c 1.73 -> 1.74
diff -u -r1.73 -r1.74
--- dllmain.c	13 May 2004 19:29:47 -0000	1.73
+++ dllmain.c	21 May 2004 10:09:31 -0000	1.74
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: dllmain.c,v 1.73 2004/05/13 19:29:47 jfilby Exp $
+/* $Id: dllmain.c,v 1.74 2004/05/21 10:09:31 weiden Exp $
  *
  *  Entry Point for win32k.sys
  */
@@ -91,9 +91,9 @@
 		       "process.\n");
 	    }
 	}
-
-      Win32Process->CreatedWindowOrDC = FALSE;
-      Win32Process->ManualGuiCheck = FALSE;
+      
+      /* setup process flags */
+      Win32Process->Flags = 0;
     }
   else
     {

reactos/subsys/win32k/ntuser
guicheck.c 1.18 -> 1.19
diff -u -r1.18 -r1.19
--- guicheck.c	10 May 2004 17:07:18 -0000	1.18
+++ guicheck.c	21 May 2004 10:09:31 -0000	1.19
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: guicheck.c,v 1.18 2004/05/10 17:07:18 weiden Exp $
+/* $Id: guicheck.c,v 1.19 2004/05/21 10:09:31 weiden Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -47,12 +47,12 @@
 static BOOL FASTCALL
 AddGuiApp(PW32PROCESS W32Data)
 {
-  W32Data->CreatedWindowOrDC = TRUE;
+  W32Data->Flags |= W32PF_CREATEDWINORDC;
   if (0 == NrGuiApplicationsRunning++)
     {
       if (! IntInitializeDesktopGraphics())
         {
-          W32Data->CreatedWindowOrDC = FALSE;
+          W32Data->Flags &= ~W32PF_CREATEDWINORDC;
           NrGuiApplicationsRunning--;
           return FALSE;
         }
@@ -64,7 +64,7 @@
 static void FASTCALL
 RemoveGuiApp(PW32PROCESS W32Data)
 {
-  W32Data->CreatedWindowOrDC = FALSE;
+  W32Data->Flags &= ~W32PF_CREATEDWINORDC;
   if (0 < NrGuiApplicationsRunning)
     {
       NrGuiApplicationsRunning--;
@@ -83,14 +83,14 @@
   W32Data = PsGetWin32Process();
   if (Create)
     {
-      if (! W32Data->CreatedWindowOrDC && ! W32Data->ManualGuiCheck)
+      if (! (W32Data->Flags & W32PF_CREATEDWINORDC) && ! (W32Data->Flags & W32PF_MANUALGUICHECK))
         {
           return AddGuiApp(W32Data);
         }
     }
   else
     {
-      if (W32Data->CreatedWindowOrDC && ! W32Data->ManualGuiCheck)
+      if ((W32Data->Flags & W32PF_CREATEDWINORDC) && ! (W32Data->Flags & W32PF_MANUALGUICHECK))
         {
           RemoveGuiApp(W32Data);
         }
@@ -107,18 +107,18 @@
   W32Data = PsGetWin32Process();
   if (0 == Check)
     {
-      W32Data->ManualGuiCheck = TRUE;
+      W32Data->Flags |= W32PF_MANUALGUICHECK;
     }
   else if (0 < Check)
     {
-      if (! W32Data->CreatedWindowOrDC)
+      if (! (W32Data->Flags & W32PF_CREATEDWINORDC))
         {
           AddGuiApp(W32Data);
         }
     }
   else
     {
-      if (W32Data->CreatedWindowOrDC)
+      if (W32Data->Flags & W32PF_CREATEDWINORDC)
         {
           RemoveGuiApp(W32Data);
         }

reactos/subsys/win32k/ntuser
misc.c 1.74 -> 1.75
diff -u -r1.74 -r1.75
--- misc.c	19 May 2004 19:09:20 -0000	1.74
+++ misc.c	21 May 2004 10:09:31 -0000	1.75
@@ -1,4 +1,4 @@
-/* $Id: misc.c,v 1.74 2004/05/19 19:09:20 weiden Exp $
+/* $Id: misc.c,v 1.75 2004/05/21 10:09:31 weiden Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -287,6 +287,30 @@
       IntReleaseWindowObject(WindowObject);
       return Result;
     }
+    
+    case ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING:
+    {
+      BOOL Enable;
+      PW32PROCESS Process = PsGetWin32Process();
+      
+      if(Process != NULL)
+      {
+        Enable = (BOOL)(Param != 0);
+        
+        if(Enable)
+        {
+          Process->Flags &= ~W32PF_NOWINDOWGHOSTING;
+        }  
+        else
+        {
+          Process->Flags |= W32PF_NOWINDOWGHOSTING;
+        }
+        
+        return TRUE;
+      }
+      
+      return FALSE;
+    }
   }
   DPRINT1("Calling invalid routine number 0x%x in NtUserCallOneParam(), Param=0x%x\n", 
           Routine, Param);
CVSspam 0.2.8