[PATCH 2/6] user32: Handle NULL device and not NULL mode parameters in ChangeDisplaySettingsExW().
Zhiyi Zhang
zzhang at codeweavers.com
Tue Feb 11 02:08:59 CST 2020
This makes sure that user graphics drivers has a valid device name when a
DEVMODE is specified.
Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
---
dlls/user32/sysparams.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c
index e3919ad1b1..c5c98a7ea1 100644
--- a/dlls/user32/sysparams.c
+++ b/dlls/user32/sysparams.c
@@ -3293,12 +3293,21 @@ static void trace_devmode(const DEVMODEW *devmode)
LONG WINAPI ChangeDisplaySettingsExW( LPCWSTR devname, LPDEVMODEW devmode, HWND hwnd,
DWORD flags, LPVOID lparam )
{
+ WCHAR primary_adapter[CCHDEVICENAME];
BOOL def_mode = TRUE;
DEVMODEW dm;
TRACE("%s %p %p %#x %p\n", debugstr_w(devname), devmode, hwnd, flags, lparam);
TRACE("flags=%s\n", _CDS_flags(flags));
+ if (!devname && devmode)
+ {
+ if (!get_primary_adapter(primary_adapter))
+ return DISP_CHANGE_FAILED;
+
+ devname = primary_adapter;
+ }
+
if (devmode)
{
trace_devmode(devmode);
--
2.20.1
More information about the wine-devel
mailing list