diff options
author | Jacek Antonelli | 2008-08-15 23:45:19 -0500 |
---|---|---|
committer | Jacek Antonelli | 2008-08-15 23:45:19 -0500 |
commit | b235c59d60472f818a9142c0886b95a0ff4191d7 (patch) | |
tree | d323c55587584b19cc43a03f58a178823f12d3cd /linden/indra/llwindow/llwindowwin32.cpp | |
parent | Second Life viewer sources 1.18.5.3 (diff) | |
download | meta-impy-b235c59d60472f818a9142c0886b95a0ff4191d7.zip meta-impy-b235c59d60472f818a9142c0886b95a0ff4191d7.tar.gz meta-impy-b235c59d60472f818a9142c0886b95a0ff4191d7.tar.bz2 meta-impy-b235c59d60472f818a9142c0886b95a0ff4191d7.tar.xz |
Second Life viewer sources 1.18.6.0-RC
Diffstat (limited to 'linden/indra/llwindow/llwindowwin32.cpp')
-rw-r--r-- | linden/indra/llwindow/llwindowwin32.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/linden/indra/llwindow/llwindowwin32.cpp b/linden/indra/llwindow/llwindowwin32.cpp index c84611b..1fa50de 100644 --- a/linden/indra/llwindow/llwindowwin32.cpp +++ b/linden/indra/llwindow/llwindowwin32.cpp | |||
@@ -93,6 +93,7 @@ BOOL LLWindowWin32::sWinIMEOpened = FALSE; | |||
93 | HKL LLWindowWin32::sWinInputLocale = 0; | 93 | HKL LLWindowWin32::sWinInputLocale = 0; |
94 | DWORD LLWindowWin32::sWinIMEConversionMode = IME_CMODE_NATIVE; | 94 | DWORD LLWindowWin32::sWinIMEConversionMode = IME_CMODE_NATIVE; |
95 | DWORD LLWindowWin32::sWinIMESentenceMode = IME_SMODE_AUTOMATIC; | 95 | DWORD LLWindowWin32::sWinIMESentenceMode = IME_SMODE_AUTOMATIC; |
96 | LLCoordWindow LLWindowWin32::sWinIMEWindowPosition(-1,-1); | ||
96 | 97 | ||
97 | // The following class LLWinImm delegates Windows IMM APIs. | 98 | // The following class LLWinImm delegates Windows IMM APIs. |
98 | // We need this because some language versions of Windows, | 99 | // We need this because some language versions of Windows, |
@@ -3381,7 +3382,8 @@ void LLWindowWin32::setLanguageTextInput( const LLCoordGL & position ) | |||
3381 | LLCoordWindow win_pos; | 3382 | LLCoordWindow win_pos; |
3382 | convertCoords( position, &win_pos ); | 3383 | convertCoords( position, &win_pos ); |
3383 | 3384 | ||
3384 | if ( win_pos.mX >= 0 && win_pos.mY >= 0 ) | 3385 | if ( win_pos.mX >= 0 && win_pos.mY >= 0 && |
3386 | (win_pos.mX != sWinIMEWindowPosition.mX) || (win_pos.mY != sWinIMEWindowPosition.mY) ) | ||
3385 | { | 3387 | { |
3386 | COMPOSITIONFORM ime_form; | 3388 | COMPOSITIONFORM ime_form; |
3387 | memset( &ime_form, 0, sizeof(ime_form) ); | 3389 | memset( &ime_form, 0, sizeof(ime_form) ); |
@@ -3390,10 +3392,11 @@ void LLWindowWin32::setLanguageTextInput( const LLCoordGL & position ) | |||
3390 | ime_form.ptCurrentPos.y = win_pos.mY; | 3392 | ime_form.ptCurrentPos.y = win_pos.mY; |
3391 | 3393 | ||
3392 | LLWinImm::setCompositionWindow( himc, &ime_form ); | 3394 | LLWinImm::setCompositionWindow( himc, &ime_form ); |
3395 | |||
3396 | sWinIMEWindowPosition.set( win_pos.mX, win_pos.mY ); | ||
3393 | } | 3397 | } |
3394 | 3398 | ||
3395 | LLWinImm::releaseContext(mWindowHandle, himc); | 3399 | LLWinImm::releaseContext(mWindowHandle, himc); |
3396 | |||
3397 | } | 3400 | } |
3398 | } | 3401 | } |
3399 | 3402 | ||