Zhiyi Zhang (@zhiyi) commented about dlls/comctl32/edit.c:
+ if (comp) EDIT_PaintComposition(es, dc, x, y); + } else if (rev && (s != e) && ((es->flags & EF_FOCUSED) || (es->style & ES_NOHIDESEL))) { x += EDIT_PaintText(es, dc, x, y, line, 0, s - li, FALSE); + if (comp) x += EDIT_PaintComposition(es, dc, x, y); x += EDIT_PaintText(es, dc, x, y, line, s - li, e - s, TRUE); x += EDIT_PaintText(es, dc, x, y, line, e - li, li + ll - e, FALSE); - } else - x += EDIT_PaintText(es, dc, x, y, line, 0, ll, FALSE); + } + else + { + x += EDIT_PaintText(es, dc, x, y, line, 0, s - li, FALSE); + if (comp) x += EDIT_PaintComposition(es, dc, x, y); + x += EDIT_PaintText(es, dc, x, y, line, s - li, li + ll - s, FALSE); The composition text doesn't paint across multiple lines. Could you do something about that?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2743#note_32216