• Ken Thomases's avatar
    winemac: Fix how the user's default display mode is determined. · dbb0bacf
    Ken Thomases authored
    The code had been checking the kDisplayModeDefaultFlag in the mode's IOFlags,
    but that doesn't do what I thought.  That indicates which mode the driver
    considers to be the default for the hardware.  It turns out there's no way to
    query the user's default mode.
    
    So, at the first opportunity during a given Wine session, the Mac driver
    queries the current display mode and assumes that's the user's default mode.
    It records that in a volatile registry key for use by subsequent processes
    during that same session.
    
    This doesn't use the existing registry key under
    HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\Video that records the
    mode when CDS_UPDATEREGISTRY is used with ChangeDisplaySettingsEx() -- which
    explorer.exe does during start-up -- because a) that doesn't support the
    distinction between pixel size and point size for Retina modes, and b) in
    theory, apps could overwrite that.
    Signed-off-by: 's avatarKen Thomases <ken@codeweavers.com>
    Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
    dbb0bacf
display.c 44.6 KB