- Among a thousand ways to loop over a list, choose the simple one.

svn path=/trunk/; revision=63829
This commit is contained in:
Jérôme Gardou 2014-08-07 10:59:54 +00:00
parent ca61361ff8
commit 807552142f

View file

@ -1143,7 +1143,6 @@ BOOL FASTCALL
IntCleanupMenus(struct _EPROCESS *Process, PPROCESSINFO Win32Process) IntCleanupMenus(struct _EPROCESS *Process, PPROCESSINFO Win32Process)
{ {
PEPROCESS CurrentProcess; PEPROCESS CurrentProcess;
PLIST_ENTRY LastHead = NULL;
PMENU MenuObject; PMENU MenuObject;
CurrentProcess = PsGetCurrentProcess(); CurrentProcess = PsGetCurrentProcess();
@ -1152,10 +1151,8 @@ IntCleanupMenus(struct _EPROCESS *Process, PPROCESSINFO Win32Process)
KeAttachProcess(&Process->Pcb); KeAttachProcess(&Process->Pcb);
} }
while (Win32Process->MenuListHead.Flink != &(Win32Process->MenuListHead) && while (!IsEmptyList(&Win32Process->MenuListHead))
Win32Process->MenuListHead.Flink != LastHead)
{ {
LastHead = Win32Process->MenuListHead.Flink;
MenuObject = CONTAINING_RECORD(Win32Process->MenuListHead.Flink, MENU, ListEntry); MenuObject = CONTAINING_RECORD(Win32Process->MenuListHead.Flink, MENU, ListEntry);
TRACE("Menus are stuck on the process list!\n"); TRACE("Menus are stuck on the process list!\n");
IntDestroyMenuObject(MenuObject, FALSE, TRUE); IntDestroyMenuObject(MenuObject, FALSE, TRUE);