diff options
Diffstat (limited to 'indra/llwindow/llwindowwin32.cpp')
-rw-r--r-- | indra/llwindow/llwindowwin32.cpp | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index b8fd9948e3..736ff9df97 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -3537,15 +3537,15 @@ void LLWindowWin32::fillCandidateForm(const LLCoordGL& caret, const LLRect& boun // Put the IME window at the right place (near current text input). Point coordinates should be the top of the current text line. void LLWindowWin32::setLanguageTextInput( const LLCoordGL & position ) { - if ( LLWinImm::isAvailable() ) - { + if (sLanguageTextInputAllowed && LLWinImm::isAvailable()) + { HIMC himc = LLWinImm::getContext(mWindowHandle); LLCoordWindow win_pos; convertCoords( position, &win_pos ); if ( win_pos.mX >= 0 && win_pos.mY >= 0 && - (win_pos.mX >= 0 != sWinIMEWindowPosition.mX ) || (win_pos.mY >= 0 != sWinIMEWindowPosition.mY ) ) + (win_pos.mX != sWinIMEWindowPosition.mX) || (win_pos.mY != sWinIMEWindowPosition.mY) ) { COMPOSITIONFORM ime_form; memset( &ime_form, 0, sizeof(ime_form) ); @@ -3558,22 +3558,6 @@ void LLWindowWin32::setLanguageTextInput( const LLCoordGL & position ) sWinIMEWindowPosition.set( win_pos.mX, win_pos.mY ); } - // Input not allowed, make sure it's set to alpha numeric mode - if ( !sLanguageTextInputAllowed ) - - { - if ( LLWinImm::getOpenStatus(himc) ) - { - DWORD conversion_mode = 0; - DWORD sentence_mode = 0; - LLWinImm::getConversionStatus(himc, &conversion_mode, &sentence_mode); - if ( conversion_mode != IME_CMODE_ALPHANUMERIC ) - { // Set to no-conversion mode instead of turning it off - LLWinImm::setConversionStatus(himc, IME_CMODE_ALPHANUMERIC, IME_SMODE_NONE ); - } - } - } - LLWinImm::releaseContext(mWindowHandle, himc); } } |