From: Zhiyi Zhang Subject: [PATCH 3/4] winex11.drv: Support finding a full display mode with specified orientation. Message-Id: Date: Tue, 22 Sep 2020 15:01:54 +0800 Signed-off-by: Zhiyi Zhang --- 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