diff --git a/reactos/dll/win32/user32/windows/menu.c b/reactos/dll/win32/user32/windows/menu.c index 28e29408a3d..c48a03170e9 100644 --- a/reactos/dll/win32/user32/windows/menu.c +++ b/reactos/dll/win32/user32/windows/menu.c @@ -3899,7 +3899,7 @@ HMENU STDCALL CreateMenu(VOID) { MenuLoadBitmaps(); - return NtUserCreateMenu(FALSE); + return (HMENU)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENU); } @@ -3910,7 +3910,7 @@ HMENU STDCALL CreatePopupMenu(VOID) { MenuLoadBitmaps(); - return NtUserCreateMenu(TRUE); + return (HMENU)NtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENUPOPUP); } diff --git a/reactos/include/reactos/win32k/ntuser.h b/reactos/include/reactos/win32k/ntuser.h index 65579ec513c..15f63d5fe36 100644 --- a/reactos/include/reactos/win32k/ntuser.h +++ b/reactos/include/reactos/win32k/ntuser.h @@ -106,10 +106,6 @@ NtUserCheckMenuItem( UINT uIDCheckItem, UINT uCheck); -HMENU -NTAPI -NtUserCreateMenu(BOOL PopupMenu); - BOOL NTAPI NtUserDeleteMenu( @@ -440,6 +436,8 @@ NtUserCallNextHookEx( WPARAM wParam, LPARAM lParam); +#define NOPARAM_ROUTINE_CREATEMENU 0x0 +#define NOPARAM_ROUTINE_CREATEMENUPOPUP 0x1 #define NOPARAM_ROUTINE_MSQCLEARWAKEMASK 0x3 #define NOPARAM_ROUTINE_REGISTER_PRIMITIVE 0xffff0001 /* Private ROS */ #define NOPARAM_ROUTINE_DESTROY_CARET 0xffff0002 diff --git a/reactos/subsystems/win32/win32k/ntuser/menu.c b/reactos/subsystems/win32/win32k/ntuser/menu.c index 78299385a9d..d82ceea4442 100644 --- a/reactos/subsystems/win32/win32k/ntuser/menu.c +++ b/reactos/subsystems/win32/win32k/ntuser/menu.c @@ -1482,23 +1482,6 @@ HMENU FASTCALL UserCreateMenu(BOOL PopupMenu) return (HMENU)Handle; } -HMENU STDCALL -NtUserCreateMenu(BOOL PopupMenu) -{ - DECLARE_RETURN(HMENU); - - DPRINT("Enter NtUserCreateMenu\n"); - UserEnterExclusive(); - - RETURN(UserCreateMenu(PopupMenu)); - -CLEANUP: - DPRINT("Leave NtUserCreateMenu, ret=%i\n",_ret_); - UserLeave(); - END_CLEANUP; -} - - /* * @implemented diff --git a/reactos/subsystems/win32/win32k/ntuser/misc.c b/reactos/subsystems/win32/win32k/ntuser/misc.c index 268803f3a9c..e103e5e0a31 100644 --- a/reactos/subsystems/win32/win32k/ntuser/misc.c +++ b/reactos/subsystems/win32/win32k/ntuser/misc.c @@ -86,6 +86,14 @@ NtUserCallNoParam(DWORD Routine) switch(Routine) { + case NOPARAM_ROUTINE_CREATEMENU: + Result = (DWORD)UserCreateMenu(FALSE); + break; + + case NOPARAM_ROUTINE_CREATEMENUPOPUP: + Result = (DWORD)UserCreateMenu(TRUE); + break; + case NOPARAM_ROUTINE_DESTROY_CARET: Result = (DWORD)co_IntDestroyCaret(PsGetCurrentThread()->Tcb.Win32Thread); break; diff --git a/reactos/subsystems/win32/win32k/ntuser/window.c b/reactos/subsystems/win32/win32k/ntuser/window.c index 6108bd0c472..d10b3a840dc 100644 --- a/reactos/subsystems/win32/win32k/ntuser/window.c +++ b/reactos/subsystems/win32/win32k/ntuser/window.c @@ -4730,29 +4730,29 @@ NtUserValidateHandleSecure( } case otCursorIcon: { - PCURICON_OBJECT Cursor; - if ((Cursor = UserGetCurIconObject((HCURSOR) handle))) return TRUE; - return FALSE; + PCURICON_OBJECT Cursor; + if ((Cursor = UserGetCurIconObject((HCURSOR) handle))) return TRUE; + return FALSE; } case otHook: { - PHOOK Hook; - if ((Hook = IntGetHookObject((HHOOK) handle))) return TRUE; - return FALSE; + PHOOK Hook; + if ((Hook = IntGetHookObject((HHOOK) handle))) return TRUE; + return FALSE; } case otMonitor: { - PMONITOR_OBJECT Monitor; - if ((Monitor = UserGetMonitorObject((HMONITOR) handle))) return TRUE; - return FALSE; + PMONITOR_OBJECT Monitor; + if ((Monitor = UserGetMonitorObject((HMONITOR) handle))) return TRUE; + return FALSE; } case otCallProc: { - WNDPROC_INFO Proc; - return UserGetCallProcInfo( handle, &Proc ); + WNDPROC_INFO Proc; + return UserGetCallProcInfo( handle, &Proc ); } default: - SetLastWin32Error(ERROR_INVALID_HANDLE); + SetLastWin32Error(ERROR_INVALID_HANDLE); } } else diff --git a/reactos/subsystems/win32/win32k/w32ksvc.db b/reactos/subsystems/win32/win32k/w32ksvc.db index d52f12f0571..431060e775f 100644 --- a/reactos/subsystems/win32/win32k/w32ksvc.db +++ b/reactos/subsystems/win32/win32k/w32ksvc.db @@ -709,7 +709,6 @@ NtGdiTranslateCharsetInfo 3 NtGdiUpdateICMRegKey 4 NtUserBuildMenuItemList 4 NtUserCreateCursorIconHandle 2 -NtUserCreateMenu 1 NtUserDestroyCursorIcon 2 NtUserEnumClipboardFormats 1 NtUserGetActiveWindow 0