Zhiyi Zhang : winex11.drv: Set DM_POSITION and DM_DISPLAYORIENTATION when reporting registry display settings.

Alexandre Julliard julliard at winehq.org
Tue Jun 9 15:27:47 CDT 2020


Module: wine
Branch: master
Commit: 1b33e0f72e87e3c3af905df27c339887f4cb5a18
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=1b33e0f72e87e3c3af905df27c339887f4cb5a18

Author: Zhiyi Zhang <zzhang at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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




More information about the wine-cvs mailing list