From 94993ac4348d39853278b082f75e5be26a3f8478 Mon Sep 17 00:00:00 2001 From: johnsonj Date: Thu, 10 Mar 2016 15:17:37 +1100 Subject: Fix caret position bug on Qt and Gtk for win32 for Korean. --- doc/ScintillaHistory.html | 3 +++ gtk/ScintillaGTK.cxx | 2 ++ qt/ScintillaEditBase/ScintillaEditBase.cpp | 2 ++ 3 files changed, 7 insertions(+) diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 1c0d7db19..a5df7057c 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -554,6 +554,9 @@ Bug #1813.
  • + On GTK+ and Qt over Win32 in Korean fix bug caused by last release's word input change. +
  • +
  • For SciTE, more descriptive error messages are displayed when there are problems loading the Lua startup script. Feature #1139. diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx index dc5f08257..25e160510 100644 --- a/gtk/ScintillaGTK.cxx +++ b/gtk/ScintillaGTK.cxx @@ -2485,7 +2485,9 @@ void ScintillaGTK::PreeditChangedInlineThis() { MoveImeCarets( - (imeCharPos[preeditStr.uniStrLen]) + imeCharPos[preeditStr.cursor_pos]); if (KoreanIME()) { +#if !PLAT_GTK_WIN32 MoveImeCarets( - imeCharPos[1]); // always 2 bytes for DBCS or 3 bytes for UTF8. +#endif view.imeCaretBlockOverride = true; } diff --git a/qt/ScintillaEditBase/ScintillaEditBase.cpp b/qt/ScintillaEditBase/ScintillaEditBase.cpp index ca4819726..7d24d0f4c 100644 --- a/qt/ScintillaEditBase/ScintillaEditBase.cpp +++ b/qt/ScintillaEditBase/ScintillaEditBase.cpp @@ -570,7 +570,9 @@ void ScintillaEditBase::inputMethodEvent(QInputMethodEvent *event) MoveImeCarets(- imeCharPos[preeditStrLen] + imeCharPos[imeCaretPos]); if (IsHangul(preeditStr.at(0))) { +#ifndef Q_OS_WIN MoveImeCarets(- imeCharPos[1]); +#endif sqt->view.imeCaretBlockOverride = true; } -- cgit v1.2.3