Jeffrey Lee
authored
A mistake in the interlace handling changes that were made in Kernel 6.21 meant that when HandleServiceEnumerateScreenModes populates the buffer that's returned to the caller, all of the modes were getting treated as interlaced, resulting in most of them reporting a Y resolution that's twice what it should be. Attempting to use those mode entries (e.g. constructing a mode selector block and calling OS_ScreenMode 0 or OS_CheckModeValid) would then most likely fail. Fix the code to look at the correct VIDC list member when checking for interlace. This fixes things so that (when using legacy monitor types) the mode lists reported by Service_EnumerateScreenModes and the display manager are once again valid. Version 6.65. Tagged as 'Kernel-6_65'