From 91017572fe786a8c1089aa008152ce31cb69321d Mon Sep 17 00:00:00 2001 From: johnsonj Date: Fri, 26 May 2023 17:53:04 +1000 Subject: Return correct position within paragraph for IME in characters instead of bytes. --- doc/ScintillaHistory.html | 3 +++ qt/ScintillaEditBase/ScintillaEditBase.cpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 48639f6e0..29ebce988 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -601,6 +601,9 @@ On Qt, stop movement of IME candidate box.
  • + On Qt, report correct caret position within paragraph for IME retrieve surrounding text. +
  • +
  • On Qt for Cocoa, fix crash in entry of multi-character strings with IME.
  • diff --git a/qt/ScintillaEditBase/ScintillaEditBase.cpp b/qt/ScintillaEditBase/ScintillaEditBase.cpp index b6c35f16e..416d74416 100644 --- a/qt/ScintillaEditBase/ScintillaEditBase.cpp +++ b/qt/ScintillaEditBase/ScintillaEditBase.cpp @@ -655,7 +655,7 @@ QVariant ScintillaEditBase::inputMethodQuery(Qt::InputMethodQuery query) const case Qt::ImCursorPosition: { const Scintilla::Position paraStart = sqt->pdoc->ParaUp(pos); - return QVariant(static_cast(pos - paraStart)); + return static_cast(sqt->pdoc->CountUTF16(paraStart, pos)); } case Qt::ImSurroundingText: -- cgit v1.2.3