riched32: Implement a portion of suggested interpretation of CRLF handling for richedit 1.0 emulation.

Fixes a few todos introduced by previous patch.
This commit is contained in:
Alex Villacís Lasso 2008-04-21 10:10:05 -05:00 committed by Alexandre Julliard
parent 17c437d48c
commit 820de0bd59
2 changed files with 22 additions and 7 deletions

View File

@ -537,10 +537,25 @@ void ME_InsertTextFromCursor(ME_TextEditor *editor, int nCursor,
ME_ReleaseStyle(end_run->member.run.style);
end_run->member.run.style = tmp_style;
p->nOffset = 0;
if(pos-str < len && *pos =='\r')
pos++;
if(pos-str < len && *pos =='\n')
pos++;
if (editor->bEmulateVersion10) {
const WCHAR * tpos;
tpos = pos;
while (tpos-str < len && *tpos == '\r') {
tpos++;
}
if (tpos-str >= len) {
if (tpos != pos) pos++;
} else if (*tpos == '\n')
pos = tpos + 1;
else
pos++;
} else {
if(pos-str < len && *pos =='\r')
pos++;
if(pos-str < len && *pos =='\n')
pos++;
}
if(pos-str <= len) {
len -= pos - str;
str = pos;

View File

@ -113,9 +113,9 @@ static void test_WM_SETTEXT()
TEST_SETTEXT(TestItem2, TestItem2, 1, 1, 1)
TEST_SETTEXT(TestItem3, TestItem3, 2, 1, 1)
TEST_SETTEXT(TestItem4, TestItem4, 3, 1, 0)
TEST_SETTEXT(TestItem5, TestItem5, 2, 1, 1)
TEST_SETTEXT(TestItem6, TestItem6, 3, 1, 1)
TEST_SETTEXT(TestItem7, TestItem7, 4, 1, 1)
TEST_SETTEXT(TestItem5, TestItem5, 2, 1, 0)
TEST_SETTEXT(TestItem6, TestItem6, 3, 1, 0)
TEST_SETTEXT(TestItem7, TestItem7, 4, 1, 0)
TEST_SETTEXT(TestItem8, TestItem8, 2, 0, 0)
TEST_SETTEXT(TestItem9, TestItem9, 3, 0, 0)
TEST_SETTEXT(TestItem10, TestItem10, 3, 0, 0)