[PATCH 0/5] MR355: win32u: Move more display mode logic out of graphics drivers.

Zhiyi Zhang (@zhiyi) wine at gitlab.winehq.org
Fri Jul 1 02:48:31 CDT 2022


Zhiyi Zhang (@zhiyi) commented about dlls/winex11.drv/display.c:
>                      return DISP_CHANGE_BADMODE;
>                  }
>  
> -                if (!write_registry_settings(devname, full_mode))
> -                {
> -                    ERR("Failed to write %s display settings to registry.\n", wine_dbgstr_w(devname));
> -                    free_full_mode(full_mode);
> -                    free(displays);
> -                    return DISP_CHANGE_NOTUPDATED;
> -                }
> -
> +                *devmode = *full_mode;
Be very careful about dmDriverExtra. You are losing private driver data here. "memcpy(full_mode, found_mode, sizeof(*found_mode) + found_mode->dmDriverExtra)" is how full mode is populated.

-- 
https://gitlab.winehq.org/wine/wine/-/merge_requests/355#note_3099



More information about the wine-devel mailing list