aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llwindow/llwindowwin32.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/llwindow/llwindowwin32.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/linden/indra/llwindow/llwindowwin32.cpp b/linden/indra/llwindow/llwindowwin32.cpp
index e9315c9..4ad044b 100644
--- a/linden/indra/llwindow/llwindowwin32.cpp
+++ b/linden/indra/llwindow/llwindowwin32.cpp
@@ -3703,6 +3703,10 @@ void LLWindowWin32::interruptLanguageTextInput()
3703 LLWinImm::notifyIME(himc, NI_COMPOSITIONSTR, CPS_COMPLETE, 0); 3703 LLWinImm::notifyIME(himc, NI_COMPOSITIONSTR, CPS_COMPLETE, 0);
3704 LLWinImm::releaseContext(mWindowHandle, himc); 3704 LLWinImm::releaseContext(mWindowHandle, himc);
3705 } 3705 }
3706
3707 // Win32 document says there will be no composition string
3708 // after NI_COMPOSITIONSTR returns. The following call to
3709 // resetPreedit should be a NOP unless IME goes mad...
3706 mPreeditor->resetPreedit(); 3710 mPreeditor->resetPreedit();
3707 } 3711 }
3708} 3712}
@@ -3846,7 +3850,12 @@ void LLWindowWin32::handleCompositionMessage(const U32 indexes)
3846 } 3850 }
3847 } 3851 }
3848 3852
3849 if (preedit_string.length() > 0) 3853 if (preedit_string.length() == 0)
3854 {
3855 preedit_segment_lengths.clear();
3856 preedit_standouts.clear();
3857 }
3858 else
3850 { 3859 {
3851 if (preedit_segment_lengths.size() == 0) 3860 if (preedit_segment_lengths.size() == 0)
3852 { 3861 {
@@ -3856,8 +3865,8 @@ void LLWindowWin32::handleCompositionMessage(const U32 indexes)
3856 { 3865 {
3857 preedit_standouts.assign(preedit_segment_lengths.size(), FALSE); 3866 preedit_standouts.assign(preedit_segment_lengths.size(), FALSE);
3858 } 3867 }
3859 mPreeditor->updatePreedit(preedit_string, preedit_segment_lengths, preedit_standouts, caret_position);
3860 } 3868 }
3869 mPreeditor->updatePreedit(preedit_string, preedit_segment_lengths, preedit_standouts, caret_position);
3861 3870
3862 // Some IME doesn't query char position after WM_IME_COMPOSITION, 3871 // Some IME doesn't query char position after WM_IME_COMPOSITION,
3863 // so we need to update them actively. 3872 // so we need to update them actively.