From ce4699fc6dd8891abbe9911a096c71a23b791228 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Fri, 29 Jul 2022 09:25:50 +0200 Subject: [PATCH] drm: improve preferred flag comparison in compare_modes Two preferred modes shouldn't happen, but this ensures a copy-paste for another flag doesn't result in mis-sorted modes and it's more consistent with the rest of the logic. --- src/drm.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/drm.cpp b/src/drm.cpp index c852bf1..1b03206 100644 --- a/src/drm.cpp +++ b/src/drm.cpp @@ -319,10 +319,10 @@ static bool compare_modes( drmModeModeInfo mode1, drmModeModeInfo mode2 ) if (goodRefresh1 != goodRefresh2) return goodRefresh1; - if (mode1.type & DRM_MODE_TYPE_PREFERRED) - return true; - if (mode2.type & DRM_MODE_TYPE_PREFERRED) - return false; + bool preferred1 = mode1.type & DRM_MODE_TYPE_PREFERRED; + bool preferred2 = mode2.type & DRM_MODE_TYPE_PREFERRED; + if (preferred1 != preferred2) + return preferred1; int area1 = mode1.hdisplay * mode1.vdisplay; int area2 = mode2.hdisplay * mode2.vdisplay;