From: Dmitry Timoshkov dmitry@baikal.ru
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru --- dlls/user32/tests/sysparams.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
diff --git a/dlls/user32/tests/sysparams.c b/dlls/user32/tests/sysparams.c index 12cbf630319..a6bdf73dd34 100644 --- a/dlls/user32/tests/sysparams.c +++ b/dlls/user32/tests/sysparams.c @@ -4136,6 +4136,31 @@ static void test_GetAutoRotationState(void) ok(ret, "Expected GetAutoRotationState to succeed, error %ld\n", GetLastError()); }
+static void test_LOGFONT_charset(void) +{ + CHARSETINFO csi; + LOGFONTA lf; + NONCLIENTMETRICSA ncm; + BOOL ret; + + ret = TranslateCharsetInfo(ULongToPtr(GetACP()), &csi, TCI_SRCCODEPAGE); + ok(ret, "TranslateCharsetInfo(%d) error %lu\n", GetACP(), GetLastError()); + + GetObjectA(GetStockObject(DEFAULT_GUI_FONT), sizeof(lf), &lf); + ok(lf.lfCharSet == csi.ciCharset, "got %d, expected %d\n", lf.lfCharSet, csi.ciCharset); + + ret = SystemParametersInfoA(SPI_GETICONTITLELOGFONT, sizeof(lf), &lf, FALSE); + ok(ret, "SystemParametersInfoW error %lu\n", GetLastError()); + todo_wine + ok(lf.lfCharSet == DEFAULT_CHARSET, "got %d\n", lf.lfCharSet); + + ncm.cbSize = FIELD_OFFSET(NONCLIENTMETRICSA, iPaddedBorderWidth); + ret = SystemParametersInfoA(SPI_GETNONCLIENTMETRICS, 0, &ncm, 0); + ok(ret, "SystemParametersInfoW error %lu\n", GetLastError()); + todo_wine + ok(ncm.lfCaptionFont.lfCharSet == DEFAULT_CHARSET, "got %d\n", ncm.lfCaptionFont.lfCharSet); +} + START_TEST(sysparams) { int argc; @@ -4183,6 +4208,8 @@ START_TEST(sysparams) strict=(argc >= 3 && strcmp(argv[2],"strict")==0); trace("strict=%d\n",strict);
+ test_LOGFONT_charset(); + trace("testing GetSystemMetrics with your current desktop settings\n"); test_GetSystemMetrics( ); test_metrics_for_dpi( 192 );
From: Dmitry Timoshkov dmitry@baikal.ru
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru --- dlls/user32/tests/sysparams.c | 3 +-- dlls/win32u/sysparams.c | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/user32/tests/sysparams.c b/dlls/user32/tests/sysparams.c index a6bdf73dd34..e6a296f5d3a 100644 --- a/dlls/user32/tests/sysparams.c +++ b/dlls/user32/tests/sysparams.c @@ -4151,14 +4151,13 @@ static void test_LOGFONT_charset(void)
ret = SystemParametersInfoA(SPI_GETICONTITLELOGFONT, sizeof(lf), &lf, FALSE); ok(ret, "SystemParametersInfoW error %lu\n", GetLastError()); - todo_wine ok(lf.lfCharSet == DEFAULT_CHARSET, "got %d\n", lf.lfCharSet);
ncm.cbSize = FIELD_OFFSET(NONCLIENTMETRICSA, iPaddedBorderWidth); ret = SystemParametersInfoA(SPI_GETNONCLIENTMETRICS, 0, &ncm, 0); ok(ret, "SystemParametersInfoW error %lu\n", GetLastError()); - todo_wine ok(ncm.lfCaptionFont.lfCharSet == DEFAULT_CHARSET, "got %d\n", ncm.lfCaptionFont.lfCharSet); + ok(ncm.lfSmCaptionFont.lfCharSet == DEFAULT_CHARSET, "got %d\n", ncm.lfSmCaptionFont.lfCharSet); }
START_TEST(sysparams) diff --git a/dlls/win32u/sysparams.c b/dlls/win32u/sysparams.c index 4f2a299dd16..5bd4cfe566b 100644 --- a/dlls/win32u/sysparams.c +++ b/dlls/win32u/sysparams.c @@ -4242,12 +4242,14 @@ static BOOL get_font_entry( union sysparam_all_entry *entry, UINT int_param, voi switch (load_entry( &entry->hdr, &font, sizeof(font) )) { case sizeof(font): + font.lfCharSet = DEFAULT_CHARSET; if (font.lfHeight > 0) /* positive height value means points ( inch/72 ) */ font.lfHeight = -muldiv( font.lfHeight, USER_DEFAULT_SCREEN_DPI, 72 ); entry->font.val = font; break; case sizeof(LOGFONT16): /* win9x-winME format */ logfont16to32( (LOGFONT16 *)&font, &entry->font.val ); + entry->font.val.lfCharSet = DEFAULT_CHARSET; if (entry->font.val.lfHeight > 0) entry->font.val.lfHeight = -muldiv( entry->font.val.lfHeight, USER_DEFAULT_SCREEN_DPI, 72 ); break; @@ -4258,6 +4260,7 @@ static BOOL get_font_entry( union sysparam_all_entry *entry, UINT int_param, voi /* fall through */ case 0: /* use the default GUI font */ NtGdiExtGetObjectW( GetStockObject( DEFAULT_GUI_FONT ), sizeof(font), &font ); + font.lfCharSet = DEFAULT_CHARSET; font.lfHeight = map_from_system_dpi( font.lfHeight ); font.lfWeight = entry->font.weight; entry->font.val = font; @@ -4297,6 +4300,7 @@ static BOOL set_font_entry( union sysparam_all_entry *entry, UINT int_param, voi static BOOL init_font_entry( union sysparam_all_entry *entry ) { NtGdiExtGetObjectW( GetStockObject( DEFAULT_GUI_FONT ), sizeof(entry->font.val), &entry->font.val ); + entry->font.val.lfCharSet = DEFAULT_CHARSET; entry->font.val.lfHeight = map_from_system_dpi( entry->font.val.lfHeight ); entry->font.val.lfWeight = entry->font.weight; get_real_fontname( &entry->font.val, entry->font.fullname );
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=139872
Your paranoid android.
=== build (build log) ===
error: patch failed: dlls/user32/tests/sysparams.c:4151 Task: Patch failed to apply
=== debian11 (build log) ===
error: patch failed: dlls/user32/tests/sysparams.c:4151 Task: Patch failed to apply
=== debian11b (build log) ===
error: patch failed: dlls/user32/tests/sysparams.c:4151 Task: Patch failed to apply