- Terminate the string. NtUserMenuItemInfo() sometimes returns no string.

- Check if NtUserBuildMenuItemList() returns negative result.

svn path=/trunk/; revision=26700
This commit is contained in:
Dmitry Gorbachev 2007-05-11 14:12:57 +00:00
parent 5b30343d53
commit 852a223ab9

View file

@ -200,6 +200,7 @@ MenuGetRosMenuItemInfo(HMENU Menu, UINT Index, PROSMENUITEMINFO ItemInfo)
ItemInfo->fType = 0; ItemInfo->fType = 0;
return FALSE; return FALSE;
} }
ItemInfo->dwTypeData[ItemInfo->cch - 1] = UNICODE_NULL;
} }
ItemInfo->fMask = Save_Mask; ItemInfo->fMask = Save_Mask;
return TRUE; return TRUE;
@ -251,7 +252,7 @@ MenuGetAllRosMenuItemInfo(HMENU Menu, PROSMENUITEMINFO *ItemInfo)
DWORD BufSize; DWORD BufSize;
BufSize = NtUserBuildMenuItemList(Menu, (VOID *) 1, 0, 0); BufSize = NtUserBuildMenuItemList(Menu, (VOID *) 1, 0, 0);
if (BufSize <= 0) if (BufSize == (DWORD) -1 || BufSize == 0)
{ {
return -1; return -1;
} }