diff options
Diffstat (limited to 'indra/llwindow')
| -rw-r--r-- | indra/llwindow/llwindowwin32.cpp | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 3afb78d1d2..e38c43bc63 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -2451,7 +2451,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_              LL_PROFILE_ZONE_NAMED_CATEGORY_WIN32("mwp - WM_SYSKEYDOWN");              // allow system keys, such as ALT-F4 to be processed by Windows              eat_keystroke = FALSE; -            break; +            // intentional fall-through here          }          case WM_KEYDOWN:          { @@ -2476,10 +2476,12 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_                          gKeyboard->handleKeyDown(w_param, mask);                      }                  }); -                return eat_keystroke; +            if (eat_keystroke) return 0;    // skip DefWindowProc() handling if we're consuming the keypress  +            break;          }          case WM_SYSKEYUP:              eat_keystroke = FALSE; +            // intentional fall-through here          case WM_KEYUP:          {              LL_PROFILE_ZONE_NAMED_CATEGORY_WIN32("mwp - WM_KEYUP"); @@ -2503,7 +2505,8 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_                      gKeyboard->handleKeyUp(w_param, mask);                  }              }); -            return eat_keystroke; +            if (eat_keystroke) return 0;    // skip DefWindowProc() handling if we're consuming the keypress  +            break;          }          case WM_IME_SETCONTEXT:          { | 
