Module: wine Branch: master Commit: 33147b07b0acf95885e5640c2e8c47dd82303a78 URL: https://gitlab.winehq.org/wine/wine/-/commit/33147b07b0acf95885e5640c2e8c47d...
Author: Rémi Bernon rbernon@codeweavers.com Date: Fri May 17 15:50:56 2024 +0200
winemac: Set DEVMODEW dmSize field.
---
dlls/winemac.drv/display.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/dlls/winemac.drv/display.c b/dlls/winemac.drv/display.c index c8e29cbf908..cc580e155ef 100644 --- a/dlls/winemac.drv/display.c +++ b/dlls/winemac.drv/display.c @@ -97,7 +97,7 @@ static BOOL display_mode_is_supported(CGDisplayModeRef display_mode) }
-static void display_mode_to_devmode(CGDirectDisplayID display_id, CGDisplayModeRef display_mode, DEVMODEW *devmode) +static void display_mode_to_devmode_fields(CGDirectDisplayID display_id, CGDisplayModeRef display_mode, DEVMODEW *devmode) { uint32_t io_flags; double rotation; @@ -847,7 +847,11 @@ static DEVMODEW *display_get_modes(CGDirectDisplayID display_id, int *modes_coun for (i = 0; i < count; i++) { CGDisplayModeRef mode = (CGDisplayModeRef)CFArrayGetValueAtIndex(modes, i); - display_mode_to_devmode(display_id, mode, devmodes + i); + + memset(devmodes + i, 0, sizeof(*devmodes)); + devmodes[i].dmSize = sizeof(*devmodes); + + display_mode_to_devmode_fields(display_id, mode, devmodes + i);
if (retina_enabled && display_mode_matches_descriptor(mode, desc)) { @@ -892,7 +896,7 @@ static void display_get_current_mode(struct macdrv_display *display, DEVMODEW *d devmode->dmPosition.y = CGRectGetMinY(display->frame); devmode->dmFields |= DM_POSITION;
- display_mode_to_devmode(display_id, display_mode, devmode); + display_mode_to_devmode_fields(display_id, display_mode, devmode); if (retina_enabled) { struct display_mode_descriptor *desc = create_original_display_mode_descriptor(display_id);