Rebase against 22970932d014f024fcf7f0f98b1a5384b1b1eb99.

This commit is contained in:
Alistair Leslie-Hughes
2020-06-12 09:35:12 +10:00
parent 7934e14fc0
commit 11f545447b
7 changed files with 80 additions and 76 deletions

View File

@@ -1,4 +1,4 @@
From df6fb4c8cee4e6cf8223ca065234749dec3cfbaf Mon Sep 17 00:00:00 2001
From 9c83eae2b95981ba4ca812bacbf116eaf412a218 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 5 Nov 2015 14:33:48 +0100
Subject: [PATCH] winex11.drv: Allow to select default display frequency in
@@ -11,16 +11,16 @@ registry key (of type STRING) to select the default display frequency:
HKCU\Software\Wine\X11 Driver\DefaultDisplayFrequency
---
dlls/winex11.drv/settings.c | 58 ++++++++++++++++++++++------------
dlls/winex11.drv/settings.c | 54 ++++++++++++++++++++++++----------
dlls/winex11.drv/x11drv.h | 1 +
dlls/winex11.drv/x11drv_main.c | 4 +++
3 files changed, 43 insertions(+), 20 deletions(-)
3 files changed, 44 insertions(+), 15 deletions(-)
diff --git a/dlls/winex11.drv/settings.c b/dlls/winex11.drv/settings.c
index 70ce35361b6..cada9cd5df2 100644
index c3f31d0430d..5e01b31106e 100644
--- a/dlls/winex11.drv/settings.c
+++ b/dlls/winex11.drv/settings.c
@@ -348,7 +348,7 @@ LONG CDECL X11DRV_ChangeDisplaySettingsEx( LPCWSTR devname, LPDEVMODEW devmode,
@@ -378,7 +378,7 @@ LONG CDECL X11DRV_ChangeDisplaySettingsEx( LPCWSTR devname, LPDEVMODEW devmode,
WCHAR primary_adapter[CCHDEVICENAME];
char bpp_buffer[16], freq_buffer[18];
DEVMODEW default_mode;
@@ -29,7 +29,7 @@ index 70ce35361b6..cada9cd5df2 100644
if (!get_primary_adapter(primary_adapter))
return DISP_CHANGE_FAILED;
@@ -379,6 +379,7 @@ LONG CDECL X11DRV_ChangeDisplaySettingsEx( LPCWSTR devname, LPDEVMODEW devmode,
@@ -402,6 +402,7 @@ LONG CDECL X11DRV_ChangeDisplaySettingsEx( LPCWSTR devname, LPDEVMODEW devmode,
return DISP_CHANGE_SUCCESSFUL;
}
@@ -37,7 +37,7 @@ index 70ce35361b6..cada9cd5df2 100644
for (i = 0; i < dd_mode_count; i++)
{
if (devmode->dmFields & DM_BITSPERPEL)
@@ -396,32 +397,49 @@ LONG CDECL X11DRV_ChangeDisplaySettingsEx( LPCWSTR devname, LPDEVMODEW devmode,
@@ -419,12 +420,24 @@ LONG CDECL X11DRV_ChangeDisplaySettingsEx( LPCWSTR devname, LPDEVMODEW devmode,
if (devmode->dmPelsHeight != dd_modes[i].height)
continue;
}
@@ -50,11 +50,6 @@ index 70ce35361b6..cada9cd5df2 100644
+ devmode->dmDisplayFrequency != dd_modes[i].refresh_rate)
continue;
}
- /* we have a valid mode */
- TRACE("Requested display settings match mode %d (%s)\n", i, handler_name);
-
- if (flags & CDS_UPDATEREGISTRY)
- write_registry_settings(devmode);
+ else if (default_display_frequency != 0)
+ {
+ if (dd_modes[i].refresh_rate != 0 &&
@@ -65,6 +60,13 @@ index 70ce35361b6..cada9cd5df2 100644
+ break;
+ }
+ }
+
/* we have a valid mode */
TRACE("Requested display settings match mode %d (%s)\n", i, handler_name);
@@ -441,20 +454,31 @@ LONG CDECL X11DRV_ChangeDisplaySettingsEx( LPCWSTR devname, LPDEVMODEW devmode,
return DISP_CHANGE_SUCCESSFUL;
}
- if (!(flags & (CDS_TEST | CDS_NORESET)))
- return pSetCurrentMode(i);
@@ -98,7 +100,7 @@ index 70ce35361b6..cada9cd5df2 100644
+ TRACE("Requested display settings match mode %d (%s)\n", mode, handler_name);
+
+ if (flags & CDS_UPDATEREGISTRY)
+ write_registry_settings(devmode);
+ write_registry_settings(devname, devmode);
+
+ if (!(flags & (CDS_TEST | CDS_NORESET)))
+ return pSetCurrentMode(mode);
@@ -107,7 +109,7 @@ index 70ce35361b6..cada9cd5df2 100644
+ return DISP_CHANGE_SUCCESSFUL;
}
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
index 803e3e4103e..6dfe4a35f6b 100644
index c2c845503e6..85a1a46788b 100644
--- a/dlls/winex11.drv/x11drv.h
+++ b/dlls/winex11.drv/x11drv.h
@@ -403,6 +403,7 @@ extern BOOL private_color_map DECLSPEC_HIDDEN;
@@ -119,7 +121,7 @@ index 803e3e4103e..6dfe4a35f6b 100644
extern HMODULE x11drv_module DECLSPEC_HIDDEN;
extern char *process_name DECLSPEC_HIDDEN;
diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c
index 0732aaa1113..ee8de0a3830 100644
index f08ac92e36f..f9fe5234c57 100644
--- a/dlls/winex11.drv/x11drv_main.c
+++ b/dlls/winex11.drv/x11drv_main.c
@@ -85,6 +85,7 @@ BOOL client_side_with_render = TRUE;