Module: wine Branch: master Commit: 1b33e0f72e87e3c3af905df27c339887f4cb5a18 URL: https://source.winehq.org/git/wine.git/?a=commit;h=1b33e0f72e87e3c3af905df27...
Author: Zhiyi Zhang zzhang@codeweavers.com Date: Wed Jun 3 22:28:32 2020 +0800
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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 b37af4d420..6750325a29 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 70ce35361b..bc9f7aa1dc 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