aboutsummaryrefslogtreecommitdiffhomepage
path: root/win32/ScintillaWin.cxx
diff options
context:
space:
mode:
authorjohnsonj <unknown>2017-03-05 16:28:31 +1100
committerjohnsonj <unknown>2017-03-05 16:28:31 +1100
commit26fc47b6fc2445b1d9b4a20eb3ccc79cf2fca315 (patch)
tree6d4bba51574e708c7c932b81271539f2ad482ea4 /win32/ScintillaWin.cxx
parente17d87205db3b9a3e6bc4b7f14c11d48b48b66f2 (diff)
downloadscintilla-mirror-26fc47b6fc2445b1d9b4a20eb3ccc79cf2fca315.tar.gz
For IMEs, do not clear selected text when there is no composition text to show.
Diffstat (limited to 'win32/ScintillaWin.cxx')
-rw-r--r--win32/ScintillaWin.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx
index 265789330..ae20ac2e9 100644
--- a/win32/ScintillaWin.cxx
+++ b/win32/ScintillaWin.cxx
@@ -1061,12 +1061,13 @@ sptr_t ScintillaWin::HandleCompositionInline(uptr_t, sptr_t lParam) {
return 0;
}
+ bool initialCompose = false;
if (pdoc->TentativeActive()) {
pdoc->TentativeUndo();
} else {
// No tentative undo means start of this composition so
// fill in any virtual spaces.
- ClearBeforeTentativeStart();
+ initialCompose = true;
}
view.imeCaretBlockOverride = false;
@@ -1078,6 +1079,8 @@ sptr_t ScintillaWin::HandleCompositionInline(uptr_t, sptr_t lParam) {
return 0;
}
+ if (initialCompose)
+ ClearBeforeTentativeStart();
pdoc->TentativeStart(); // TentativeActive from now on.
std::vector<int> imeIndicator = MapImeIndicators(imc.GetImeAttributes());