From 22ce57c418deb5d674cc57b6c45a1c41e1377a3a Mon Sep 17 00:00:00 2001 From: Alexandros Frantzis Date: Tue, 4 Apr 2023 19:03:58 +0300 Subject: [PATCH] winex11.drv: Extract function to check devmode equality. Signed-off-by: Alexandros Frantzis --- dlls/winex11.drv/display.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/dlls/winex11.drv/display.c b/dlls/winex11.drv/display.c index e675194b9fd..5fb027da680 100644 --- a/dlls/winex11.drv/display.c +++ b/dlls/winex11.drv/display.c @@ -278,6 +278,15 @@ BOOL is_detached_mode(const DEVMODEW *mode) mode->dmPelsHeight == 0; } +static BOOL is_same_devmode( const DEVMODEW *a, const DEVMODEW *b ) +{ + return a->dmDisplayOrientation == b->dmDisplayOrientation && + a->dmBitsPerPel == b->dmBitsPerPel && + a->dmPelsWidth == b->dmPelsWidth && + a->dmPelsHeight == b->dmPelsHeight && + a->dmDisplayFrequency == b->dmDisplayFrequency; +} + /* Get the full display mode with all the necessary fields set. * Return NULL on failure. Caller should call free_full_mode() to free the returned mode. */ static DEVMODEW *get_full_mode(ULONG_PTR id, DEVMODEW *dev_mode) @@ -294,19 +303,7 @@ static DEVMODEW *get_full_mode(ULONG_PTR id, DEVMODEW *dev_mode) for (mode_idx = 0; mode_idx < mode_count; ++mode_idx) { found_mode = (DEVMODEW *)((BYTE *)modes + (sizeof(*modes) + modes[0].dmDriverExtra) * mode_idx); - - if (found_mode->dmBitsPerPel != dev_mode->dmBitsPerPel) - continue; - if (found_mode->dmPelsWidth != dev_mode->dmPelsWidth) - continue; - if (found_mode->dmPelsHeight != dev_mode->dmPelsHeight) - continue; - if (found_mode->dmDisplayFrequency != dev_mode->dmDisplayFrequency) - continue; - if (found_mode->dmDisplayOrientation != dev_mode->dmDisplayOrientation) - continue; - - break; + if (is_same_devmode( found_mode, dev_mode )) break; } if (!found_mode || mode_idx == mode_count) -- 2.11.4.GIT