Ken Thomases : winemac: Fix how the user' s default display mode is determined.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Oct 27 11:06:36 CDT 2015


Module: wine
Branch: master
Commit: dbb0bacf6731304f074f492438982949449a5266
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=dbb0bacf6731304f074f492438982949449a5266

Author: Ken Thomases <ken at codeweavers.com>
Date:   Mon Oct 26 23:39:06 2015 -0500

winemac: Fix how the user's default display mode is determined.

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: Ken Thomases <ken at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winemac.drv/display.c | 282 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 278 insertions(+), 4 deletions(-)

Diff:   http://source.winehq.org/git/wine.git/?a=commitdiff;h=dbb0bacf6731304f074f492438982949449a5266



More information about the wine-cvs mailing list