Revert "Menu: check numBytes == 1 on KeyDown"

This reverts commit 44dc533861d5e6c8c80f3ed89d6dfb4b8a30c724.
This commit is contained in:
John Scipione 2013-08-25 19:40:00 -04:00
parent 163fc310f7
commit 4385f73996
2 changed files with 13 additions and 23 deletions

View File

@ -268,7 +268,6 @@ private:
int _State(BMenuItem** _item = NULL) const;
void _InvokeItem(BMenuItem* item, bool now = false);
void _InvokeTrigger(const char* bytes);
void _QuitTracking(bool onlyThis = true);
static menu_info sMenuInfo;

View File

@ -477,11 +477,6 @@ BMenu::MessageReceived(BMessage* msg)
void
BMenu::KeyDown(const char* bytes, int32 numBytes)
{
if (numBytes != 1) {
_InvokeTrigger(bytes);
return;
}
// TODO: Test how it works on BeOS R5 and implement this correctly
switch (bytes[0]) {
case B_UP_ARROW:
@ -580,7 +575,19 @@ BMenu::KeyDown(const char* bytes, int32 numBytes)
break;
default:
_InvokeTrigger(bytes);
{
uint32 trigger = UTF8ToCharCode(&bytes);
for (uint32 i = CountItems(); i-- > 0;) {
BMenuItem* item = ItemAt(i);
if (item->fTriggerIndex < 0 || item->fTrigger != trigger)
continue;
_InvokeItem(item);
break;
}
break;
}
}
}
@ -2461,22 +2468,6 @@ BMenu::_InvokeItem(BMenuItem* item, bool now)
}
void
BMenu::_InvokeTrigger(const char* bytes)
{
uint32 trigger = UTF8ToCharCode(&bytes);
for (uint32 i = CountItems(); i-- > 0;) {
BMenuItem* item = ItemAt(i);
if (item->fTriggerIndex < 0 || item->fTrigger != trigger)
continue;
_InvokeItem(item);
break;
}
}
bool
BMenu::_OverSuper(BPoint location)
{