[PATCH 1/6] winex11.drv: Set DM_POSITION and DM_DISPLAYORIENTATION when reporting registry display settings.
Zhiyi Zhang
zzhang at codeweavers.com
Wed Jun 3 09:28:32 CDT 2020
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 at 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
More information about the wine-devel
mailing list