merge -r 57058:57111 maintenance.
parent
ad94bca0d2
commit
821f998373
|
|
@ -472,6 +472,7 @@ BOOL LLMenuItemGL::handleMouseUp( S32 x, S32 y, MASK )
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void LLMenuItemGL::draw( void )
|
||||
{
|
||||
// *FIX: This can be optimized by using switches. Want to avoid
|
||||
|
|
@ -4104,7 +4105,7 @@ BOOL LLMenuBarGL::handleAcceleratorKey(KEY key, MASK mask)
|
|||
|
||||
BOOL LLMenuBarGL::handleKeyHere(KEY key, MASK mask, BOOL called_from_parent)
|
||||
{
|
||||
if(key == KEY_ALT)
|
||||
if(key == KEY_ALT && !gKeyboard->getKeyRepeated(key) && LLUI::sConfigGroup->getBOOL("UseAltKeyForMenus"))
|
||||
{
|
||||
mAltKeyTrigger = TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1950,19 +1950,34 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
|
|||
// allow system keys, such as ALT-F4 to be processed by Windows
|
||||
eat_keystroke = FALSE;
|
||||
case WM_KEYDOWN:
|
||||
if (gDebugWindowProc)
|
||||
{
|
||||
llinfos << "Debug WindowProc WM_KEYDOWN "
|
||||
<< " key " << S32(w_param)
|
||||
<< llendl;
|
||||
if (gDebugWindowProc)
|
||||
{
|
||||
llinfos << "Debug WindowProc WM_KEYDOWN "
|
||||
<< " key " << S32(w_param)
|
||||
<< llendl;
|
||||
}
|
||||
// lower 15 bits hold key repeat count
|
||||
S32 key_repeat_count = l_param & 0x7fff;
|
||||
if (key_repeat_count > 1)
|
||||
{
|
||||
KEY translated_key;
|
||||
gKeyboard->translateKey(w_param, &translated_key);
|
||||
if (!gKeyboard->getKeyDown(translated_key))
|
||||
{
|
||||
//RN: hack for handling key repeats when we no longer recognize the key as being down
|
||||
//This is necessary because we sometimes ignore the message queue and use getAsyncKeyState
|
||||
// to clear key level flags before we've processed all key repeat messages
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if(gKeyboard->handleKeyDown(w_param, mask) && eat_keystroke)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
// pass on to windows if we didn't handle it
|
||||
break;
|
||||
}
|
||||
if (gKeyboard->handleKeyDown(w_param, mask) && eat_keystroke)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
// pass on to windows if we didn't handle it
|
||||
break;
|
||||
|
||||
case WM_SYSKEYUP:
|
||||
eat_keystroke = FALSE;
|
||||
case WM_KEYUP:
|
||||
|
|
|
|||
Loading…
Reference in New Issue