https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8f2c2c1defb56aa4f559c…
commit 8f2c2c1defb56aa4f559c75b5d0e0746db877f5a
Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
AuthorDate: Mon Apr 10 08:27:50 2023 +0900
Commit: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
CommitDate: Mon Apr 10 08:27:50 2023 +0900
[COMCTL32][USER32] EDIT: Fix caret position for IME
CORE-11700
---
dll/win32/comctl32/edit.c | 4 ++++
win32ss/user/user32/controls/edit.c | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/dll/win32/comctl32/edit.c b/dll/win32/comctl32/edit.c
index b37bf8cffb5..d17c7f20d30 100644
--- a/dll/win32/comctl32/edit.c
+++ b/dll/win32/comctl32/edit.c
@@ -4392,7 +4392,11 @@ static void EDIT_ImeComposition(HWND hwnd, LPARAM CompFlag,
EDITSTATE *es)
{
if (CompFlag & GCS_COMPSTR)
EDIT_GetCompositionStr(hIMC, CompFlag, es);
+#ifdef __REACTOS__
+ cursor = 0;
+#else
cursor = ImmGetCompositionStringW(hIMC, GCS_CURSORPOS, 0, 0);
+#endif
}
ImmReleaseContext(hwnd, hIMC);
EDIT_SetCaretPos(es, es->selection_start + cursor, es->flags &
EF_AFTER_WRAP);
diff --git a/win32ss/user/user32/controls/edit.c b/win32ss/user/user32/controls/edit.c
index 9a38353eb59..bfe910c8cde 100644
--- a/win32ss/user/user32/controls/edit.c
+++ b/win32ss/user/user32/controls/edit.c
@@ -4617,7 +4617,11 @@ static void EDIT_ImeComposition(HWND hwnd, LPARAM CompFlag,
EDITSTATE *es)
{
if (CompFlag & GCS_COMPSTR)
EDIT_GetCompositionStr(hIMC, CompFlag, es);
+#ifdef __REACTOS__
+ cursor = 0;
+#else
cursor = ImmGetCompositionStringW(hIMC, GCS_CURSORPOS, 0, 0);
+#endif
}
ImmReleaseContext(hwnd, hIMC);
EDIT_SetCaretPos(es, es->selection_start + cursor, es->flags &
EF_AFTER_WRAP);