Zhiyi Zhang : winex11.drv: Use the default frequency in ChangeDisplaySettingsExW() if dmDisplayFrequency is 1.

Alexandre Julliard julliard at winehq.org
Fri Jun 12 16:01:17 CDT 2020


Module: wine
Branch: master
Commit: c4a01d0a65905f33cbfe90f150b2d23a02c4e793
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=c4a01d0a65905f33cbfe90f150b2d23a02c4e793

Author: Zhiyi Zhang <zzhang at codeweavers.com>
Date:   Fri Jun 12 15:29:33 2020 +0800

winex11.drv: Use the default frequency in ChangeDisplaySettingsExW() if dmDisplayFrequency is 1.

0 or 1 in dmDisplayFrequency means to use the default frequency.

Fix Disgaea PC and Ostriv failing to launch in exclusive fullscreen mode.

Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/user32/tests/monitor.c | 1 -
 dlls/winex11.drv/settings.c | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/dlls/user32/tests/monitor.c b/dlls/user32/tests/monitor.c
index 482e2f1301..afde67cd03 100644
--- a/dlls/user32/tests/monitor.c
+++ b/dlls/user32/tests/monitor.c
@@ -448,7 +448,6 @@ static void test_ChangeDisplaySettingsEx(void)
         dm.dmDisplayFrequency = vid_modes_test[i].freq;
         dm.dmFields           = vid_modes_test[i].fields;
         res = ChangeDisplaySettingsExA(NULL, &dm, NULL, CDS_TEST, NULL);
-        todo_wine_if(i == 2)
         ok(vid_modes_test[i].must_succeed ?
            (res == DISP_CHANGE_SUCCESSFUL || res == DISP_CHANGE_RESTART) :
            (res == DISP_CHANGE_SUCCESSFUL || res == DISP_CHANGE_RESTART ||
diff --git a/dlls/winex11.drv/settings.c b/dlls/winex11.drv/settings.c
index c3f31d0430..bbbb6fdf0a 100644
--- a/dlls/winex11.drv/settings.c
+++ b/dlls/winex11.drv/settings.c
@@ -420,7 +420,7 @@ LONG CDECL X11DRV_ChangeDisplaySettingsEx( LPCWSTR devname, LPDEVMODEW devmode,
                 continue;
         }
         if ((devmode->dmFields & DM_DISPLAYFREQUENCY) && (dd_modes[i].refresh_rate != 0) &&
-            devmode->dmDisplayFrequency != 0)
+            devmode->dmDisplayFrequency != 0 && devmode->dmDisplayFrequency != 1)
         {
             if (devmode->dmDisplayFrequency != dd_modes[i].refresh_rate)
                 continue;




More information about the wine-cvs mailing list