aboutsummaryrefslogtreecommitdiff
path: root/src/scintilla_backports/6111_225f39cfd931.patch
diff options
context:
space:
mode:
Diffstat (limited to 'src/scintilla_backports/6111_225f39cfd931.patch')
-rw-r--r--src/scintilla_backports/6111_225f39cfd931.patch101
1 files changed, 101 insertions, 0 deletions
diff --git a/src/scintilla_backports/6111_225f39cfd931.patch b/src/scintilla_backports/6111_225f39cfd931.patch
new file mode 100644
index 00000000..29caca6d
--- /dev/null
+++ b/src/scintilla_backports/6111_225f39cfd931.patch
@@ -0,0 +1,101 @@
+# HG changeset patch
+# User johnsonj
+# Date 1488691711 -39600
+# Node ID 225f39cfd93159c37966d50db15db7fdb894a503
+# Parent a3894ee30cdba2c1ced617f80bc6eb900e5cbb42
+For IMEs, do not clear selected text when there is no composition text to show.
+
+diff -r a3894ee30cdb -r 225f39cfd931 doc/ScintillaHistory.html
+--- a/doc/ScintillaHistory.html Sat Mar 04 14:32:28 2017 +1100
++++ b/doc/ScintillaHistory.html Sun Mar 05 16:28:31 2017 +1100
+@@ -527,6 +527,9 @@
+ Released 19 February 2017.
+ </li>
+ <li>
++ For IMEs, do not clear selected text when there is no composition text to show.
++ </li>
++ <li>
+ Fix to stream selection mode when moving caret up or down.
+ <a href="http://sourceforge.net/p/scintilla/bugs/1905/">Bug #1905</a>.
+ </li>
+diff -r a3894ee30cdb -r 225f39cfd931 gtk/ScintillaGTK.cxx
+--- a/gtk/ScintillaGTK.cxx Sat Mar 04 14:32:28 2017 +1100
++++ b/gtk/ScintillaGTK.cxx Sun Mar 05 16:28:31 2017 +1100
+@@ -2323,12 +2323,13 @@
+
+ view.imeCaretBlockOverride = false; // If backspace.
+
++ 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;
+ }
+
+ PreEditString preeditStr(im_context);
+@@ -2345,6 +2346,8 @@
+ return;
+ }
+
++ if (initialCompose)
++ ClearBeforeTentativeStart();
+ pdoc->TentativeStart(); // TentativeActive() from now on
+
+ std::vector<int> indicator = MapImeIndicators(preeditStr.attrs, preeditStr.str);
+diff -r a3894ee30cdb -r 225f39cfd931 qt/ScintillaEditBase/ScintillaEditBase.cpp
+--- a/qt/ScintillaEditBase/ScintillaEditBase.cpp Sat Mar 04 14:32:28 2017 +1100
++++ b/qt/ScintillaEditBase/ScintillaEditBase.cpp Sun Mar 05 16:28:31 2017 +1100
+@@ -525,12 +525,13 @@
+ 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 @@
+ return;
+ }
+
++ if (initialCompose)
++ sqt->ClearBeforeTentativeStart();
+ sqt->pdoc->TentativeStart(); // TentativeActive() from now on.
+
+ std::vector<int> imeIndicator = MapImeIndicators(event);
+diff -r a3894ee30cdb -r 225f39cfd931 win32/ScintillaWin.cxx
+--- a/win32/ScintillaWin.cxx Sat Mar 04 14:32:28 2017 +1100
++++ b/win32/ScintillaWin.cxx Sun Mar 05 16:28:31 2017 +1100
+@@ -1061,12 +1061,13 @@
+ 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 @@
+ return 0;
+ }
+
++ if (initialCompose)
++ ClearBeforeTentativeStart();
+ pdoc->TentativeStart(); // TentativeActive from now on.
+
+ std::vector<int> imeIndicator = MapImeIndicators(imc.GetImeAttributes());