[PATCH 1/6] riched20: Initialize the remaining CHARFORMAT2 members.
Huw Davies
huw at codeweavers.com
Fri Oct 14 04:05:02 CDT 2016
Signed-off-by: Huw Davies <huw at codeweavers.com>
---
dlls/riched20/para.c | 6 ++++--
dlls/riched20/tests/editor.c | 17 +++++++++++++++++
dlls/riched20/tests/richole.c | 1 -
3 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/dlls/riched20/para.c b/dlls/riched20/para.c
index d94e213..f050b2e 100644
--- a/dlls/riched20/para.c
+++ b/dlls/riched20/para.c
@@ -52,11 +52,12 @@ void ME_MakeFirstParagraph(ME_TextEditor *editor)
GetObjectW(hf, sizeof(LOGFONTW), &lf);
ZeroMemory(&cf, sizeof(cf));
cf.cbSize = sizeof(cf);
- cf.dwMask = CFM_BACKCOLOR|CFM_COLOR|CFM_FACE|CFM_SIZE|CFM_CHARSET;
+ cf.dwMask = CFM_ANIMATION|CFM_BACKCOLOR|CFM_CHARSET|CFM_COLOR|CFM_FACE|CFM_KERNING|CFM_LCID|CFM_OFFSET;
+ cf.dwMask |= CFM_REVAUTHOR|CFM_SIZE|CFM_SPACING|CFM_STYLE|CFM_UNDERLINETYPE|CFM_WEIGHT;
cf.dwMask |= CFM_ALLCAPS|CFM_BOLD|CFM_DISABLED|CFM_EMBOSS|CFM_HIDDEN;
cf.dwMask |= CFM_IMPRINT|CFM_ITALIC|CFM_LINK|CFM_OUTLINE|CFM_PROTECTED;
cf.dwMask |= CFM_REVISED|CFM_SHADOW|CFM_SMALLCAPS|CFM_STRIKEOUT;
- cf.dwMask |= CFM_SUBSCRIPT|CFM_UNDERLINETYPE|CFM_WEIGHT;
+ cf.dwMask |= CFM_SUBSCRIPT|CFM_UNDERLINE;
cf.dwEffects = CFE_AUTOCOLOR | CFE_AUTOBACKCOLOR;
lstrcpyW(cf.szFaceName, lf.lfFaceName);
@@ -69,6 +70,7 @@ void ME_MakeFirstParagraph(ME_TextEditor *editor)
if (lf.lfStrikeOut) cf.dwEffects |= CFE_STRIKEOUT;
cf.bPitchAndFamily = lf.lfPitchAndFamily;
cf.bCharSet = lf.lfCharSet;
+ cf.lcid = GetSystemDefaultLCID();
style = ME_MakeStyle(&cf);
text->pDefaultStyle = style;
diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c
index 36e082e..8d7d209 100644
--- a/dlls/riched20/tests/editor.c
+++ b/dlls/riched20/tests/editor.c
@@ -764,11 +764,28 @@ static void test_EM_SETCHARFORMAT(void)
CHARRANGE cr;
LOCALESIGNATURE sig;
BOOL rtl;
+ DWORD expect_effects;
rtl = (GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_FONTSIGNATURE,
(LPSTR) &sig, sizeof(LOCALESIGNATURE)) &&
(sig.lsUsb[3] & 0x08000000) != 0);
+ /* check charformat defaults */
+ memset(&cf2, 0, sizeof(CHARFORMAT2A));
+ cf2.cbSize = sizeof(CHARFORMAT2A);
+ SendMessageA(hwndRichEdit, EM_GETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf2);
+ ok(cf2.dwMask == CFM_ALL2, "got %08x\n", cf2.dwMask);
+ expect_effects = CFE_AUTOCOLOR | CFE_AUTOBACKCOLOR;
+ if (cf2.wWeight > 550) expect_effects |= CFE_BOLD;
+ ok(cf2.dwEffects == expect_effects, "got %08x\n", cf2.dwEffects);
+ ok(cf2.yOffset == 0, "got %d\n", cf2.yOffset);
+ ok(cf2.sSpacing == 0, "got %d\n", cf2.sSpacing);
+ ok(cf2.lcid == GetSystemDefaultLCID(), "got %x\n", cf2.lcid);
+ ok(cf2.sStyle == 0, "got %d\n", cf2.sStyle);
+ ok(cf2.wKerning == 0, "got %d\n", cf2.wKerning);
+ ok(cf2.bAnimation == 0, "got %d\n", cf2.bAnimation);
+ ok(cf2.bRevAuthor == 0, "got %d\n", cf2.bRevAuthor);
+
/* Invalid flags, CHARFORMAT2 structure blanked out */
memset(&cf2, 0, sizeof(cf2));
rc = SendMessageA(hwndRichEdit, EM_SETCHARFORMAT, (WPARAM)0xfffffff0, (LPARAM)&cf2);
diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c
index 6da3ce3..656eee1 100644
--- a/dlls/riched20/tests/richole.c
+++ b/dlls/riched20/tests/richole.c
@@ -1741,7 +1741,6 @@ static void test_GetFont(void)
value = 0;
hr = ITextFont_GetLanguageID(font, &value);
ok(hr == S_OK, "got 0x%08x\n", hr);
-todo_wine
ok(value == GetSystemDefaultLCID(), "got lcid %x, user lcid %x\n", value,
GetSystemDefaultLCID());
--
2.8.2
More information about the wine-patches
mailing list