• Jeffrey Lee's avatar
    Fix HandleServiceEnumerateScreenModes returning mostly nonsense modes · acbb6106
    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'
    acbb6106
VersionASM 846 Bytes