Rémi Bernon : winemac.drv: Invalidate mode cache when enum flags changes.
Module: wine Branch: master Commit: 4571201f2ee05cbeaee2ad73546439d46abe1d87 URL: https://gitlab.winehq.org/wine/wine/-/commit/4571201f2ee05cbeaee2ad73546439d... Author: Rémi Bernon <rbernon(a)codeweavers.com> Date: Mon Aug 29 10:18:21 2022 +0200 winemac.drv: Invalidate mode cache when enum flags changes. --- dlls/winemac.drv/display.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/winemac.drv/display.c b/dlls/winemac.drv/display.c index 76a9d67be20..d2164f997d9 100644 --- a/dlls/winemac.drv/display.c +++ b/dlls/winemac.drv/display.c @@ -54,6 +54,7 @@ static const WCHAR initial_mode_keyW[] = {'I','n','i','t','i','a','l',' ','D','i static const WCHAR pixelencodingW[] = {'P','i','x','e','l','E','n','c','o','d','i','n','g',0}; static CFArrayRef cached_modes; +static DWORD cached_modes_flags; static BOOL cached_modes_has_8bpp, cached_modes_has_16bpp; static int cached_default_mode_bpp; static pthread_mutex_t cached_modes_mutex = PTHREAD_MUTEX_INITIALIZER; @@ -1014,11 +1015,12 @@ BOOL macdrv_EnumDisplaySettingsEx(LPCWSTR devname, DWORD mode, LPDEVMODEW devmod pthread_mutex_lock(&cached_modes_mutex); - if (mode == 0 || !cached_modes) + if (mode == 0 || !cached_modes || flags != cached_modes_flags) { if (cached_modes) CFRelease(cached_modes); cached_modes = copy_display_modes(displays[0].displayID, (flags & EDS_RAWMODE) != 0); cached_modes_has_8bpp = cached_modes_has_16bpp = FALSE; + cached_modes_flags = flags; if (cached_modes) {
participants (1)
-
Alexandre Julliard