[PATCH 3/4] winex11.drv: Support finding a full display mode with specified orientation.

Zhiyi Zhang zzhang at codeweavers.com
Tue Sep 22 02:01:54 CDT 2020


Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
---
 dlls/winex11.drv/settings.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/dlls/winex11.drv/settings.c b/dlls/winex11.drv/settings.c
index 5bbba453b95..0fa5bcf6294 100644
--- a/dlls/winex11.drv/settings.c
+++ b/dlls/winex11.drv/settings.c
@@ -497,7 +497,7 @@ static DEVMODEW *get_full_mode(ULONG_PTR id, DEVMODEW *dev_mode)
     if (is_detached_mode(dev_mode))
         return dev_mode;
 
-    if (!handler.get_modes(id, 0, &modes, &mode_count))
+    if (!handler.get_modes(id, EDS_ROTATEDMODE, &modes, &mode_count))
         return NULL;
 
     qsort(modes, mode_count, sizeof(*modes) + modes[0].dmDriverExtra, mode_compare);
@@ -519,6 +519,9 @@ static DEVMODEW *get_full_mode(ULONG_PTR id, DEVMODEW *dev_mode)
             dev_mode->dmDisplayFrequency != 1 &&
             dev_mode->dmDisplayFrequency != found_mode->dmDisplayFrequency)
             continue;
+        if (dev_mode->dmFields & DM_DISPLAYORIENTATION &&
+            found_mode->u1.s2.dmDisplayOrientation != dev_mode->u1.s2.dmDisplayOrientation)
+            continue;
 
         break;
     }
-- 
2.25.1




More information about the wine-devel mailing list