Revert "Menu: check numBytes == 1 on KeyDown"
This reverts commit 44dc533861d5e6c8c80f3ed89d6dfb4b8a30c724.
This commit is contained in:
parent
163fc310f7
commit
4385f73996
@ -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;
|
||||
|
@ -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)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user