some work on menus

svn path=/trunk/; revision=5650
This commit is contained in:
Thomas Bluemel 2003-08-18 14:09:13 +00:00
parent 065d88ba18
commit b68f0a643f

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
/* $Id: menu.c,v 1.16 2003/08/18 13:37:54 weiden Exp $ /* $Id: menu.c,v 1.17 2003/08/18 14:09:13 weiden Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -236,12 +236,12 @@ W32kDestroyMenuObject(PMENU_OBJECT MenuObject, BOOL bRecurse)
W32kDeleteMenuItems(MenuObject, bRecurse); /* do not destroy submenus */ W32kDeleteMenuItems(MenuObject, bRecurse); /* do not destroy submenus */
ExReleaseFastMutexUnsafe (&MenuObject->MenuItemsLock); ExReleaseFastMutexUnsafe (&MenuObject->MenuItemsLock);
W32kReleaseMenuObject(MenuObject);
ExAcquireFastMutexUnsafe(&W32Process->MenuListLock); ExAcquireFastMutexUnsafe(&W32Process->MenuListLock);
// FIXME RemoveEntryList(); remove RemoveEntryList(&MenuObject->ListEntry);
ExReleaseFastMutexUnsafe(&W32Process->MenuListLock); ExReleaseFastMutexUnsafe(&W32Process->MenuListLock);
W32kReleaseMenuObject(MenuObject); // needed?
ObmCloseHandle(W32Process->WindowStation->HandleTable, MenuObject->Self); ObmCloseHandle(W32Process->WindowStation->HandleTable, MenuObject->Self);
return TRUE; return TRUE;
@ -753,7 +753,6 @@ W32kSetMenuDefaultItem(PMENU_OBJECT MenuObject, UINT uItem, UINT fByPos)
/*! /*!
* Internal function. Called when the process is destroyed to free the remaining menu handles. * Internal function. Called when the process is destroyed to free the remaining menu handles.
* \param Process - PID of the process that will be destroyed.
*/ */
BOOL FASTCALL BOOL FASTCALL
W32kCleanupMenus(struct _EPROCESS *Process, PW32PROCESS Win32Process) W32kCleanupMenus(struct _EPROCESS *Process, PW32PROCESS Win32Process)
@ -807,7 +806,7 @@ NtUserBuildMenuItemList(
if(!MenuObject) if(!MenuObject)
{ {
SetLastWin32Error(ERROR_INVALID_MENU_HANDLE); SetLastWin32Error(ERROR_INVALID_MENU_HANDLE);
return -1; return (DWORD)-1;
} }
if(lpmiil) if(lpmiil)