[PATCH 2/2] riched20: Substitute object runs with U+FFFC if GT_RAWTEXT is given.
Jinoh Kang
jinoh.kang.kr at gmail.com
Sun Mar 27 10:41:12 CDT 2022
Signed-off-by: Jinoh Kang <jinoh.kang.kr at 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));
--
2.34.1
More information about the wine-devel
mailing list