diff options
author | Neil <nyamatongwe@gmail.com> | 2014-07-24 12:54:03 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2014-07-24 12:54:03 +1000 |
commit | 7afb5fb389fe0c59e6952e1f5b6861105fab3bad (patch) | |
tree | c442c43737c8d77ce966c18424ad15da0fc72664 /win32/ScintillaWin.cxx | |
parent | d5e666a8e7f6297a9838793611086b048d04fd58 (diff) | |
download | scintilla-mirror-7afb5fb389fe0c59e6952e1f5b6861105fab3bad.tar.gz |
Using separate variable imeCaretBlockOverride for IME mode instead of changing
caretStyle as there could be confusion if the container changes caret style.
Diffstat (limited to 'win32/ScintillaWin.cxx')
-rw-r--r-- | win32/ScintillaWin.cxx | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index bec0fe70c..51d4cbf53 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -205,8 +205,6 @@ class ScintillaWin : static HINSTANCE hInstance; - int tmpCaretStyle; - #if defined(USE_D2D) ID2D1HwndRenderTarget *pRenderTarget; bool renderTargetValid; @@ -347,8 +345,6 @@ ScintillaWin::ScintillaWin(HWND hwnd) { TrackMouseEventFn = 0; SetCoalescableTimerFn = 0; - tmpCaretStyle = 0; - linesPerScroll = 0; wheelDelta = 0; // Wheel delta from roll @@ -726,7 +722,7 @@ sptr_t ScintillaWin::HandleCompositionKoreanIME(uptr_t, sptr_t lParam) { return 0; } - const int maxLenInputIME = 4; + const int maxLenInputIME = 200; wchar_t wcs[maxLenInputIME]; int wides = 0; bool compstrExist = false; @@ -742,6 +738,7 @@ sptr_t ScintillaWin::HandleCompositionKoreanIME(uptr_t, sptr_t lParam) { inOverstrike = tmpOverstrike; } + view.imeCaretBlockOverride = false; if (lParam & GCS_COMPSTR) { long bytes = ::ImmGetCompositionStringW (hIMC, GCS_COMPSTR, wcs, maxLenInputIME); @@ -770,7 +767,7 @@ sptr_t ScintillaWin::HandleCompositionKoreanIME(uptr_t, sptr_t lParam) { } if (compstrExist) { - vs.caretStyle = CARETSTYLE_BLOCK; + view.imeCaretBlockOverride = true; bool tmpRecordingMacro = recordingMacro; recordingMacro = false; @@ -1244,20 +1241,12 @@ sptr_t ScintillaWin::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam case WM_IME_STARTCOMPOSITION: // dbcs if (KoreanIME()) { - tmpCaretStyle = vs.caretStyle; - if (vs.caretStyle > CARETSTYLE_BLOCK) { - vs.caretStyle= CARETSTYLE_LINE; - } return 0; } ImeStartComposition(); return ::DefWindowProc(MainHWND(), iMessage, wParam, lParam); case WM_IME_ENDCOMPOSITION: // dbcs - if (KoreanIME()) { - vs.caretStyle = tmpCaretStyle; - return 0; - } ImeEndComposition(); return ::DefWindowProc(MainHWND(), iMessage, wParam, lParam); |