Signed-off-by: Jinoh Kang jinoh.kang.kr@gmail.com --- dlls/riched20/editor.c | 6 ++++++ dlls/riched20/tests/richole.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c index 3d2d49af047..454a8bf5fc8 100644 --- a/dlls/riched20/editor.c +++ b/dlls/riched20/editor.c @@ -4271,6 +4271,12 @@ int ME_GetTextW(ME_TextEditor *editor, WCHAR *buffer, int buflen, nLen = 2; str = L"\r\n"; } + else if (flags & GT_RAWTEXT && run->nFlags & MERF_GRAPHICS) + { + srcChars -= min(nLen, srcChars); + nLen = 1; + str = L"\xfffc"; + } else { nLen = min(nLen, srcChars); diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c index 24284a24484..dc0d7c4e1f1 100644 --- a/dlls/riched20/tests/richole.c +++ b/dlls/riched20/tests/richole.c @@ -3404,7 +3404,7 @@ static void test_InsertObject(void) memset(buffer, 0, sizeof(buffer)); result = SendMessageW(hwnd, EM_GETTEXTEX, (WPARAM)&gettextex, (LPARAM)buffer); ok(result == lstrlenW(expected_string), "Got wrong length: %ld.\n", result); - todo_wine ok(!lstrcmpW(buffer, expected_string), "Got wrong content: %s.\n", debugstr_w(buffer)); + ok(!lstrcmpW(buffer, expected_string), "Got wrong content: %s.\n", debugstr_w(buffer));
gettextex.flags = GT_NOHIDDENTEXT; memset(buffer, 0, sizeof(buffer)); @@ -3507,7 +3507,7 @@ static void test_InsertObject(void) memset(buffer, 0, sizeof(buffer)); result = SendMessageW(hwnd, EM_GETTEXTEX, (WPARAM)&gettextex, (LPARAM)buffer); ok(result == lstrlenW(expected_string), "Got wrong length: %ld.\n", result); - todo_wine ok(!lstrcmpW(buffer, expected_string), "Got wrong content: %s.\n", debugstr_w(buffer)); + ok(!lstrcmpW(buffer, expected_string), "Got wrong content: %s.\n", debugstr_w(buffer));
expected_stringA = "abc d efg"; memset(bufferA, 0, sizeof(bufferA));