[PATCH 1/6] winex11.drv: Set DM_POSITION and DM_DISPLAYORIENTATION when reporting registry display settings.
Set DM_POSITION and DM_DISPLAYORIENTATION when calling EnumDisplaySettings(ENUM_REGISTRY_SETTINGS). DM_DISPLAYFIXEDOUTPUT is not set because it is not necessarily reported according to tests. Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com> --- dlls/user32/tests/sysparams.c | 3 ++- dlls/winex11.drv/settings.c | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/user32/tests/sysparams.c b/dlls/user32/tests/sysparams.c index b37af4d4203..6750325a291 100644 --- a/dlls/user32/tests/sysparams.c +++ b/dlls/user32/tests/sysparams.c @@ -3319,7 +3319,8 @@ static void test_EnumDisplaySettings(void) } else { - todo_wine ok((dm.dmFields & mode_fields) == mode_fields, "Expect dmFields to contain %#x, got %#x\n", + todo_wine_if(mode != ENUM_REGISTRY_SETTINGS) + ok((dm.dmFields & mode_fields) == mode_fields, "Expect dmFields to contain %#x, got %#x\n", mode_fields, dm.dmFields); } diff --git a/dlls/winex11.drv/settings.c b/dlls/winex11.drv/settings.c index 70ce35361b6..bc9f7aa1dca 100644 --- a/dlls/winex11.drv/settings.c +++ b/dlls/winex11.drv/settings.c @@ -210,7 +210,9 @@ static BOOL read_registry_settings(DEVMODEW *dm) dm->dmFields |= DM_DISPLAYFLAGS; query_value("DefaultSettings.XPanning", &dm->u1.s2.dmPosition.x); query_value("DefaultSettings.YPanning", &dm->u1.s2.dmPosition.y); + dm->dmFields |= DM_POSITION; query_value("DefaultSettings.Orientation", &dm->u1.s2.dmDisplayOrientation); + dm->dmFields |= DM_DISPLAYORIENTATION; query_value("DefaultSettings.FixedOutput", &dm->u1.s2.dmDisplayFixedOutput); #undef query_value -- 2.25.1
Hi, While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=72735 Your paranoid android. === w8 (32 bit report) === user32: sysparams.c:2508: Test failed: Waiting for the WM_DISPLAYCHANGE message timed out sysparams.c:2519: Test failed: Set bpp 32, but WM_DISPLAYCHANGE reported bpp -1 === w8adm (32 bit report) === user32: sysparams.c:2508: Test failed: Waiting for the WM_DISPLAYCHANGE message timed out sysparams.c:2519: Test failed: Set bpp 32, but WM_DISPLAYCHANGE reported bpp -1 === w1064v1809 (32 bit report) === user32: sysparams.c:224: Test failed: Unexpected WM_DISPLAYCHANGE message sysparams.c:2508: Test failed: Waiting for the WM_DISPLAYCHANGE message timed out sysparams.c:2519: Test failed: Set bpp 32, but WM_DISPLAYCHANGE reported bpp -1 === w1064v1809_2scr (32 bit report) === user32: sysparams.c:224: Test failed: Unexpected WM_DISPLAYCHANGE message sysparams.c:2508: Test failed: Waiting for the WM_DISPLAYCHANGE message timed out sysparams.c:2519: Test failed: Set bpp 32, but WM_DISPLAYCHANGE reported bpp -1 === w1064v1809_ar (32 bit report) === user32: sysparams.c:2508: Test failed: Waiting for the WM_DISPLAYCHANGE message timed out sysparams.c:2519: Test failed: Set bpp 32, but WM_DISPLAYCHANGE reported bpp -1 === w1064v1809_he (32 bit report) === user32: sysparams.c:2508: Test failed: Waiting for the WM_DISPLAYCHANGE message timed out sysparams.c:2519: Test failed: Set bpp 32, but WM_DISPLAYCHANGE reported bpp -1 === w1064v1809_ja (32 bit report) === user32: sysparams.c:2508: Test failed: Waiting for the WM_DISPLAYCHANGE message timed out sysparams.c:2519: Test failed: Set bpp 32, but WM_DISPLAYCHANGE reported bpp -1 === w1064v1809_zh_CN (32 bit report) === user32: sysparams.c:2508: Test failed: Waiting for the WM_DISPLAYCHANGE message timed out sysparams.c:2519: Test failed: Set bpp 32, but WM_DISPLAYCHANGE reported bpp -1
participants (2)
-
Marvin -
Zhiyi Zhang