aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llwindow/llwindowwin32.cpp
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:45:19 -0500
committerJacek Antonelli2008-08-15 23:45:19 -0500
commitb235c59d60472f818a9142c0886b95a0ff4191d7 (patch)
treed323c55587584b19cc43a03f58a178823f12d3cd /linden/indra/llwindow/llwindowwin32.cpp
parentSecond Life viewer sources 1.18.5.3 (diff)
downloadmeta-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.cpp7
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;
93HKL LLWindowWin32::sWinInputLocale = 0; 93HKL LLWindowWin32::sWinInputLocale = 0;
94DWORD LLWindowWin32::sWinIMEConversionMode = IME_CMODE_NATIVE; 94DWORD LLWindowWin32::sWinIMEConversionMode = IME_CMODE_NATIVE;
95DWORD LLWindowWin32::sWinIMESentenceMode = IME_SMODE_AUTOMATIC; 95DWORD LLWindowWin32::sWinIMESentenceMode = IME_SMODE_AUTOMATIC;
96LLCoordWindow 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