[USER32] Edit: Fix rectangle overflow when inserting characters
authorStanislav Motylkov <x86corez@gmail.com>
Tue, 19 Mar 2019 23:42:09 +0000 (02:42 +0300)
committerHermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Sat, 23 Mar 2019 14:52:43 +0000 (15:52 +0100)
Based on patch by JIRA contributor 'I_Kill_Bugs'. CORE-11475

win32ss/user/user32/controls/edit.c

index 70bdd1d..2f2da0f 100644 (file)
@@ -805,7 +805,11 @@ static void EDIT_BuildLineDefs_ML(EDITSTATE *es, INT istart, INT iend, INT delta
                if ((es->style & ES_CENTER) || (es->style & ES_RIGHT))
                        rc.left = es->format_rect.left;
                else
+#ifdef __REACTOS__ /* CORE-11475 */
+                       rc.left = (short)LOWORD(EDIT_EM_PosFromChar(es, nstart_index, FALSE));
+#else
                         rc.left = LOWORD(EDIT_EM_PosFromChar(es, nstart_index, FALSE));
+#endif
                rc.right = es->format_rect.right;
                SetRectRgn(hrgn, rc.left, rc.top, rc.right, rc.bottom);