From 26fc47b6fc2445b1d9b4a20eb3ccc79cf2fca315 Mon Sep 17 00:00:00 2001 From: johnsonj Date: Sun, 5 Mar 2017 16:28:31 +1100 Subject: For IMEs, do not clear selected text when there is no composition text to show. --- qt/ScintillaEditBase/ScintillaEditBase.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'qt/ScintillaEditBase/ScintillaEditBase.cpp') diff --git a/qt/ScintillaEditBase/ScintillaEditBase.cpp b/qt/ScintillaEditBase/ScintillaEditBase.cpp index eb51ef1d1..9059e6344 100644 --- a/qt/ScintillaEditBase/ScintillaEditBase.cpp +++ b/qt/ScintillaEditBase/ScintillaEditBase.cpp @@ -525,12 +525,13 @@ void ScintillaEditBase::inputMethodEvent(QInputMethodEvent *event) return; } + bool initialCompose = false; if (sqt->pdoc->TentativeActive()) { sqt->pdoc->TentativeUndo(); } else { // No tentative undo means start of this composition so // Fill in any virtual spaces. - sqt->ClearBeforeTentativeStart(); + initialCompose = true; } sqt->view.imeCaretBlockOverride = false; @@ -557,6 +558,8 @@ void ScintillaEditBase::inputMethodEvent(QInputMethodEvent *event) return; } + if (initialCompose) + sqt->ClearBeforeTentativeStart(); sqt->pdoc->TentativeStart(); // TentativeActive() from now on. std::vector imeIndicator = MapImeIndicators(event); -- cgit v1.2.3