Qian Hong : user32: Properly update caret position after result string is committed.
Alexandre Julliard
julliard at winehq.org
Wed Jul 3 15:02:19 CDT 2013
Module: wine
Branch: master
Commit: 9ef2c648ee557d25d2598a42fdc7854101709f00
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9ef2c648ee557d25d2598a42fdc7854101709f00
Author: Qian Hong <qhong at codeweavers.com>
Date: Wed Jul 3 03:54:41 2013 +0800
user32: Properly update caret position after result string is committed.
---
dlls/user32/edit.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/dlls/user32/edit.c b/dlls/user32/edit.c
index 3e5a850..3634710 100644
--- a/dlls/user32/edit.c
+++ b/dlls/user32/edit.c
@@ -4421,10 +4421,16 @@ static void EDIT_ImeComposition(HWND hwnd, LPARAM CompFlag, EDITSTATE *es)
return;
if (CompFlag & GCS_RESULTSTR)
+ {
EDIT_GetResultStr(hIMC, es);
- if (CompFlag & GCS_COMPSTR)
- EDIT_GetCompositionStr(hIMC, CompFlag, es);
- cursor = ImmGetCompositionStringW(hIMC, GCS_CURSORPOS, 0, 0);
+ cursor = 0;
+ }
+ else
+ {
+ if (CompFlag & GCS_COMPSTR)
+ EDIT_GetCompositionStr(hIMC, CompFlag, es);
+ cursor = ImmGetCompositionStringW(hIMC, GCS_CURSORPOS, 0, 0);
+ }
ImmReleaseContext(hwnd, hIMC);
EDIT_SetCaretPos(es, es->selection_start + cursor, es->flags & EF_AFTER_WRAP);
}
More information about the wine-cvs
mailing list