Some changes for menus and unstubbed NtUserCallNoParam() and NtUserCallOneParam()

svn path=/trunk/; revision=5429
This commit is contained in:
Thomas Bluemel
2003-08-06 11:32:17 +00:00
parent a98f5b2575
commit 0a6485b203
6 changed files with 292 additions and 971 deletions
+5 -3
View File
@@ -158,13 +158,15 @@ NtUserCallNextHookEx(
DWORD
STDCALL
NtUserCallNoParam(
DWORD Unknown0);
DWORD Routine);
#define ONEPARAM_ROUTINE_GETMENU 0x01
#define ONEPARAM_ROUTINE_ISWINDOWUNICODE 0x02
DWORD
STDCALL
NtUserCallOneParam(
DWORD Unknown0,
DWORD Unknown1);
DWORD Param,
DWORD Routine);
#define TWOPARAM_ROUTINE_ENABLEWINDOW 0x53
#define TWOPARAM_ROUTINE_UNKNOWN 0x54
+4 -3
View File
@@ -1,4 +1,4 @@
/* $Id: defwnd.c,v 1.59 2003/08/05 15:41:03 weiden Exp $
/* $Id: defwnd.c,v 1.60 2003/08/06 11:32:17 weiden Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS user32.dll
@@ -209,7 +209,7 @@ DefWndRedrawIconTitle(HWND hWnd)
BOOL
UserHasMenu(HWND hWnd, ULONG Style)
{
return(!(Style & WS_CHILD) && GetWindowLong(hWnd, GWL_ID) != 0);
return(!(Style & WS_CHILD) && GetMenu(hWnd) != 0);
}
@@ -490,7 +490,7 @@ DefWndDoPaintNC(HWND hWnd, HRGN clip)
{
RECT r = rect;
r.bottom = rect.top + GetSystemMetrics(SM_CYMENU);
DbgPrint("Calling MenuDrawMenuBar()\n");
rect.top += MenuDrawMenuBar(hDC, &r, hWnd, FALSE);
}
@@ -1389,6 +1389,7 @@ DefWndNCCalcSize(HWND hWnd, RECT* Rect)
Rect->bottom -= TmpRect.bottom;
if (UserHasMenu(hWnd, GetWindowLong(hWnd, GWL_EXSTYLE)))
{
DbgPrint("Calling MenuGetMenuBarHeight()\n");
Rect->top += MenuGetMenuBarHeight(hWnd,
Rect->right - Rect->left,
-TmpRect.left,
File diff suppressed because it is too large Load Diff
+15 -13
View File
@@ -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: menu.c,v 1.9 2003/08/05 19:50:57 weiden Exp $
/* $Id: menu.c,v 1.10 2003/08/06 11:32:17 weiden Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -101,7 +101,7 @@ CleanupMenuImpl(VOID)
return(STATUS_SUCCESS);
}
#if 0
#if 1
void FASTCALL
DumpMenuItemList(PMENU_ITEM MenuItem)
{
@@ -532,7 +532,7 @@ W32kInsertMenuItem(PMENU_OBJECT MenuObject, UINT uItem, WINBOOL fByPosition,
}
pos = W32kInsertMenuItemToList(MenuObject, MenuItem, pos);
DumpMenuItemList(MenuObject->MenuItemList);
return pos >= 0;
}
@@ -713,7 +713,7 @@ NtUserBuildMenuItemList(
PMENU_OBJECT MenuObject = W32kGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_HANDLE);
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
return -1;
}
@@ -730,7 +730,9 @@ NtUserBuildMenuItemList(
{
res = MenuObject->MenuItemCount;
}
W32kReleaseMenuObject(MenuObject);
return res;
}
@@ -748,7 +750,7 @@ NtUserCheckMenuItem(
PMENU_OBJECT MenuObject = W32kGetMenuObject(hmenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_HANDLE);
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
return (DWORD)-1;
}
ExAcquireFastMutexUnsafe(&MenuObject->MenuItemsLock);
@@ -815,7 +817,7 @@ NtUserDestroyMenu(
PMENU_OBJECT MenuObject = W32kGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_HANDLE);
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
return FALSE;
}
@@ -837,7 +839,7 @@ NtUserEnableMenuItem(
MenuObject = W32kGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_HANDLE);
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
return res;
}
ExAcquireFastMutexUnsafe(&MenuObject->MenuItemsLock);
@@ -864,7 +866,7 @@ NtUserInsertMenuItem(
MenuObject = W32kGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_HANDLE);
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
return 0;
}
ExAcquireFastMutexUnsafe(&MenuObject->MenuItemsLock);
@@ -955,7 +957,7 @@ NtUserHiliteMenuItem(
if(!MenuObject)
{
W32kReleaseWindowObject(WindowObject);
SetLastWin32Error(ERROR_INVALID_HANDLE);
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
return res;
}
if(WindowObject->Menu == hmenu)
@@ -991,7 +993,7 @@ NtUserMenuInfo(
MenuObject = W32kGetMenuObject(hmenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_HANDLE);
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
return FALSE;
}
if(fsog)
@@ -1070,7 +1072,7 @@ NtUserSetMenuContextHelpId(
PMENU_OBJECT MenuObject = W32kGetMenuObject(hmenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_HANDLE);
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
return FALSE;
}
@@ -1094,7 +1096,7 @@ NtUserSetMenuDefaultItem(
MenuObject = W32kGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_HANDLE);
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
return FALSE;
}
ExAcquireFastMutexUnsafe(&MenuObject->MenuItemsLock);
@@ -1117,7 +1119,7 @@ NtUserSetMenuFlagRtoL(
PMENU_OBJECT MenuObject = W32kGetMenuObject(hMenu);
if(!MenuObject)
{
SetLastWin32Error(ERROR_INVALID_HANDLE);
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
return FALSE;
}
+80 -27
View File
@@ -1,4 +1,4 @@
/* $Id: misc.c,v 1.1 2003/05/26 18:52:37 gvg Exp $
/* $Id: misc.c,v 1.2 2003/08/06 11:32:17 weiden Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -18,6 +18,65 @@
#include <debug.h>
DWORD
STDCALL
NtUserCallNoParam(
DWORD Routine)
{
/*
switch(Routine)
{
case 1:
return 0;
}
DPRINT1("Calling invalid routine number 0x%x in NtUserCallNoParam()\n", Routine);
SetLastWin32Error(ERROR_INVALID_PARAMETER);
*/
UNIMPLEMENTED
return 0;
}
DWORD
STDCALL
NtUserCallOneParam(
DWORD Param,
DWORD Routine)
{
DWORD Result = 0;
PWINDOW_OBJECT WindowObject;
switch(Routine)
{
case ONEPARAM_ROUTINE_GETMENU:
WindowObject = W32kGetWindowObject((HWND)Param);
if(!WindowObject)
{
SetLastWin32Error(ERROR_INVALID_HANDLE);
return FALSE;
}
Result = WindowObject->Menu;
DbgPrint("ONEPARAM_ROUTINE_GETMENU = 0x%x\n", Result);
W32kReleaseWindowObject(WindowObject);
return Result;
case ONEPARAM_ROUTINE_ISWINDOWUNICODE:
WindowObject = W32kGetWindowObject((HWND)Param);
if(!WindowObject)
{
SetLastWin32Error(ERROR_INVALID_HANDLE);
return FALSE;
}
Result = WindowObject->Unicode;
W32kReleaseWindowObject(WindowObject);
return Result;
}
DPRINT1("Calling invalid routine number 0x%x in NtUserCallOneParam()\n Param=0x%x\n",
Routine, Param);
SetLastWin32Error(ERROR_INVALID_PARAMETER);
return 0;
}
DWORD
STDCALL
NtUserCallTwoParam(
@@ -25,36 +84,30 @@ NtUserCallTwoParam(
DWORD Param2,
DWORD Routine)
{
DWORD Result;
switch(Routine)
{
case TWOPARAM_ROUTINE_ENABLEWINDOW:
UNIMPLEMENTED
break;
{
case TWOPARAM_ROUTINE_ENABLEWINDOW:
UNIMPLEMENTED
return 0;
case TWOPARAM_ROUTINE_UNKNOWN:
UNIMPLEMENTED
break;
case TWOPARAM_ROUTINE_UNKNOWN:
UNIMPLEMENTED
return 0;
case TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS:
UNIMPLEMENTED
break;
case TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS:
UNIMPLEMENTED
return 0;
case TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW:
UNIMPLEMENTED
break;
case TWOPARAM_ROUTINE_SWITCHTOTHISWINDOW:
UNIMPLEMENTED
return 0;
case TWOPARAM_ROUTINE_VALIDATERGN:
Result = (DWORD) NtUserValidateRgn((HWND) Param1, (HRGN) Param2);
break;
case TWOPARAM_ROUTINE_VALIDATERGN:
return (DWORD)NtUserValidateRgn((HWND) Param1, (HRGN) Param2);
default:
DPRINT1("Calling invalid routine number 0x%x in NtUserCallTwoParam\n");
SetLastWin32Error(ERROR_INVALID_PARAMETER);
Result = 0;
break;
}
return Result;
}
DPRINT1("Calling invalid routine number 0x%x in NtUserCallOneParam()\n Param1=0x%x Parm2=0x%x\n",
Routine, Param1, Param2);
SetLastWin32Error(ERROR_INVALID_PARAMETER);
return 0;
}
+1 -22
View File
@@ -1,4 +1,4 @@
/* $Id: stubs.c,v 1.22 2003/08/04 16:54:54 gdalsnes Exp $
/* $Id: stubs.c,v 1.23 2003/08/06 11:32:17 weiden Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -148,27 +148,6 @@ NtUserCallMsgFilter(
return 0;
}
DWORD
STDCALL
NtUserCallNoParam(
DWORD Unknown0)
{
UNIMPLEMENTED
return 0;
}
DWORD
STDCALL
NtUserCallOneParam(
DWORD Unknown0,
DWORD Unknown1)
{
UNIMPLEMENTED
return 0;
}
DWORD
STDCALL
NtUserChangeClipboardChain(