Commit in reactos/subsys/win32k on win32k_user_rewrite
include/internal.h+71.1.4.11 -> 1.1.4.12
ntuser/ntuser.c+69-11.1.4.10 -> 1.1.4.11
      /stubs.c+1-121.45.12.6 -> 1.45.12.7
      /window.c+9-11.244.2.8 -> 1.244.2.9
+86-14
4 modified files
partly implemented NtUserCallOneParam()

reactos/subsys/win32k/include
internal.h 1.1.4.11 -> 1.1.4.12
diff -u -r1.1.4.11 -r1.1.4.12
--- internal.h	14 Sep 2004 01:00:43 -0000	1.1.4.11
+++ internal.h	24 Sep 2004 18:35:40 -0000	1.1.4.12
@@ -389,6 +389,8 @@
 
 typedef struct _MENU_OBJECT
 {
+  HANDLE Handle;
+  
   PW32PROCESS W32Process;
   LIST_ENTRY ListEntry;
   FAST_MUTEX MenuItemsLock;
@@ -807,6 +809,9 @@
 #define IntGetParentObject(WndObj) \
   ((WndObj)->Parent)
 
+#define IntIsWindowUnicode(WndObj) \
+  ((WndObj)->Unicode)
+
 #define IntIsWindow(WndObj) \
   ((WndObj) != NULL && ObmObjectDeleted(WndObj) == FALSE)
 
@@ -893,6 +898,7 @@
   ULONG PropListItems;
   /* Scrollbar info */
   PWINDOW_SCROLLINFO Scroll;
+  PMENU_OBJECT Menu;
   LONG UserData;
   BOOL Unicode;
   WNDPROC WndProcA;
@@ -934,6 +940,7 @@
 PWINDOW_OBJECT INTERNAL_CALL IntGetWindow(PWINDOW_OBJECT Window, UINT uCmd);
 BOOL           INTERNAL_CALL IntDefSetText(PWINDOW_OBJECT WindowObject, PUNICODE_STRING WindowText);
 INT            INTERNAL_CALL IntInternalGetWindowText(PWINDOW_OBJECT WindowObject, LPWSTR lpString, INT nMaxCount);
+PMENU_OBJECT   INTERNAL_CALL IntGetWindowMenu(PWINDOW_OBJECT WindowObject);
 BOOL           INTERNAL_CALL IntDereferenceWndProcHandle(WNDPROC wpHandle, WndProcHandle *Data);
 DWORD          INTERNAL_CALL IntRemoveWndProcHandle(WNDPROC Handle);
 DWORD          INTERNAL_CALL IntRemoveProcessWndProcHandles(HANDLE ProcessID);

reactos/subsys/win32k/ntuser
ntuser.c 1.1.4.10 -> 1.1.4.11
diff -u -r1.1.4.10 -r1.1.4.11
--- ntuser.c	13 Sep 2004 21:28:17 -0000	1.1.4.10
+++ ntuser.c	24 Sep 2004 18:35:40 -0000	1.1.4.11
@@ -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: ntuser.c,v 1.1.4.10 2004/09/13 21:28:17 weiden Exp $
+/* $Id: ntuser.c,v 1.1.4.11 2004/09/24 18:35:40 weiden Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -257,6 +257,74 @@
 }
 
 DWORD STDCALL
+NtUserCallOneParam(DWORD Param,
+                   DWORD Routine)
+{
+  NTUSER_USER_OBJECT(WINDOW, Window);
+  NTUSER_USER_OBJECT(MENU, Menu);
+  BEGIN_NTUSER(DWORD, 0);
+  
+  switch(Routine)
+  {
+    case ONEPARAM_ROUTINE_GETMENU:
+      ENTER_CRITICAL_SHARED();
+      VALIDATE_USER_OBJECT(WINDOW, (HWND)Param, Window);
+      Menu = IntGetWindowMenu(Window);
+      Result = (DWORD)(Menu ? Menu->Handle : NULL);
+      LEAVE_CRITICAL();
+      break;
+
+    case ONEPARAM_ROUTINE_ISWINDOWUNICODE:
+      ENTER_CRITICAL_SHARED();
+      VALIDATE_USER_OBJECT(WINDOW, (HWND)Param, Window);
+      Result = (DWORD)IntIsWindowUnicode(Window);
+      LEAVE_CRITICAL();
+      break;
+
+    case ONEPARAM_ROUTINE_WINDOWFROMDC:
+      ENTER_CRITICAL_SHARED();
+      Window = IntWindowFromDC((HDC)Param);
+      Result = (DWORD)(Window ? Window->Handle : NULL);
+      LEAVE_CRITICAL();
+      break;
+
+    case ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID:
+      ENTER_CRITICAL_SHARED();
+      VALIDATE_USER_OBJECT(WINDOW, (HWND)Param, Window);
+      Result = Window->ContextHelpId;
+      LEAVE_CRITICAL();
+      break;
+
+    case ONEPARAM_ROUTINE_GETWINDOWINSTANCE:
+      ENTER_CRITICAL_SHARED();
+      VALIDATE_USER_OBJECT(WINDOW, (HWND)Param, Window);
+      Result = (DWORD)Window->Instance;
+      LEAVE_CRITICAL();
+      break;
+
+    case ONEPARAM_ROUTINE_ISWINDOWINDESTROY:
+      ENTER_CRITICAL_SHARED();
+      VALIDATE_USER_OBJECT(WINDOW, (HWND)Param, Window);
+      /* FIXME */
+      LEAVE_CRITICAL();
+      break;
+
+    case ONEPARAM_ROUTINE_SWAPMOUSEBUTTON:
+    case ONEPARAM_ROUTINE_SWITCHCARETSHOWING:
+    case ONEPARAM_ROUTINE_SETCARETBLINKTIME:
+    case ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS:
+    case ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO:
+    case ONEPARAM_ROUTINE_GETCURSORPOSITION:
+    case ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING:
+    default:
+      DPRINT1("Calling invalid routine number 0x%x in NtUserCallOneParam\n", Routine);
+      NTUSER_FAIL_ERROR(ERROR_INVALID_PARAMETER);
+  }
+  
+  END_NTUSER();
+}
+
+DWORD STDCALL
 NtUserCallTwoParam(DWORD Param1,
                    DWORD Param2,
                    DWORD Routine)

reactos/subsys/win32k/ntuser
stubs.c 1.45.12.6 -> 1.45.12.7
diff -u -r1.45.12.6 -r1.45.12.7
--- stubs.c	12 Sep 2004 19:21:07 -0000	1.45.12.6
+++ stubs.c	24 Sep 2004 18:35:40 -0000	1.45.12.7
@@ -1,4 +1,4 @@
-/* $Id: stubs.c,v 1.45.12.6 2004/09/12 19:21:07 weiden Exp $
+/* $Id: stubs.c,v 1.45.12.7 2004/09/24 18:35:40 weiden Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -1242,17 +1242,6 @@
  */
 
 
-DWORD
-STDCALL
-NtUserCallOneParam(
-  DWORD Param,
-  DWORD Routine)
-{
-   UNIMPLEMENTED;
-   return 0;
-}
-
-
 BOOL
 STDCALL
 NtUserCallHwndLock(

reactos/subsys/win32k/ntuser
window.c 1.244.2.8 -> 1.244.2.9
diff -u -r1.244.2.8 -r1.244.2.9
--- window.c	14 Sep 2004 01:00:44 -0000	1.244.2.8
+++ window.c	24 Sep 2004 18:35:40 -0000	1.244.2.9
@@ -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: window.c,v 1.244.2.8 2004/09/14 01:00:44 weiden Exp $
+/* $Id: window.c,v 1.244.2.9 2004/09/24 18:35:40 weiden Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -2035,6 +2035,14 @@
   return Result;
 }
 
+PMENU_OBJECT INTERNAL_CALL
+IntGetWindowMenu(PWINDOW_OBJECT WindowObject)
+{
+  ASSERT(WindowObject);
+  
+  return WindowObject->Menu;
+}
+
 /* WINPROC ********************************************************************/
 
 BOOL INTERNAL_CALL
CVSspam 0.2.8