richedit: Return number of chars inserted for EM_STREAMIN with SF_RTF.

This commit is contained in:
Dylan Smith 2011-09-25 22:17:28 -04:00 committed by Alexandre Julliard
parent e060272de7
commit f61d417a34
2 changed files with 8 additions and 4 deletions

View File

@ -1470,6 +1470,8 @@ static LRESULT ME_StreamIn(ME_TextEditor *editor, DWORD format, EDITSTREAM *stre
if (!invalidRTF && !inStream.editstream->dwError) if (!invalidRTF && !inStream.editstream->dwError)
{ {
if (format & SF_RTF) { if (format & SF_RTF) {
from = ME_GetCursorOfs(&editor->pCursors[0]);
/* setup the RTF parser */ /* setup the RTF parser */
memset(&parser, 0, sizeof parser); memset(&parser, 0, sizeof parser);
RTFSetEditStream(&parser, &inStream); RTFSetEditStream(&parser, &inStream);
@ -1563,6 +1565,8 @@ static LRESULT ME_StreamIn(ME_TextEditor *editor, DWORD format, EDITSTREAM *stre
} }
} }
} }
to = ME_GetCursorOfs(&editor->pCursors[0]);
num_read = to - from;
style = parser.style; style = parser.style;
} }

View File

@ -5062,7 +5062,7 @@ static void test_EM_STREAMIN(void)
es.dwError = 0; es.dwError = 0;
es.pfnCallback = test_EM_STREAMIN_esCallback; es.pfnCallback = test_EM_STREAMIN_esCallback;
result = SendMessage(hwndRichEdit, EM_STREAMIN, SF_RTF, (LPARAM)&es); result = SendMessage(hwndRichEdit, EM_STREAMIN, SF_RTF, (LPARAM)&es);
todo_wine ok(result == 12, "got %ld, expected %d\n", result, 12); ok(result == 12, "got %ld, expected %d\n", result, 12);
result = SendMessage(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM) buffer); result = SendMessage(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM) buffer);
ok (result == 12, ok (result == 12,
@ -5077,7 +5077,7 @@ static void test_EM_STREAMIN(void)
es.dwError = 0; es.dwError = 0;
es.pfnCallback = test_EM_STREAMIN_esCallback; es.pfnCallback = test_EM_STREAMIN_esCallback;
result = SendMessage(hwndRichEdit, EM_STREAMIN, SF_RTF, (LPARAM)&es); result = SendMessage(hwndRichEdit, EM_STREAMIN, SF_RTF, (LPARAM)&es);
todo_wine ok(result == 12, "got %ld, expected %d\n", result, 12); ok(result == 12, "got %ld, expected %d\n", result, 12);
result = SendMessage(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM) buffer); result = SendMessage(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM) buffer);
ok (result == 12, ok (result == 12,
@ -5092,7 +5092,7 @@ static void test_EM_STREAMIN(void)
es.dwError = 0; es.dwError = 0;
es.pfnCallback = test_EM_STREAMIN_esCallback; es.pfnCallback = test_EM_STREAMIN_esCallback;
result = SendMessage(hwndRichEdit, EM_STREAMIN, SF_RTF, (LPARAM)&es); result = SendMessage(hwndRichEdit, EM_STREAMIN, SF_RTF, (LPARAM)&es);
todo_wine ok(result == 13, "got %ld, expected %d\n", result, 13); ok(result == 13, "got %ld, expected %d\n", result, 13);
result = SendMessage(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM) buffer); result = SendMessage(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM) buffer);
ok (result == 14, ok (result == 14,
@ -5106,7 +5106,7 @@ static void test_EM_STREAMIN(void)
es.dwError = 0; es.dwError = 0;
es.pfnCallback = test_EM_STREAMIN_esCallback; es.pfnCallback = test_EM_STREAMIN_esCallback;
result = SendMessage(hwndRichEdit, EM_STREAMIN, SF_RTF, (LPARAM)&es); result = SendMessage(hwndRichEdit, EM_STREAMIN, SF_RTF, (LPARAM)&es);
todo_wine ok(result == 12, "got %ld, expected %d\n", result, 12); ok(result == 12, "got %ld, expected %d\n", result, 12);
result = SendMessage(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM) buffer); result = SendMessage(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM) buffer);
ok (result == 12, ok (result == 12,