summaryrefslogtreecommitdiff
path: root/indra/llwindow/llwindowwin32.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llwindow/llwindowwin32.cpp')
-rw-r--r--indra/llwindow/llwindowwin32.cpp22
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);
}
}