[DDraw] Fix resolution change

Lionel Ulmer lionel.ulmer at free.fr
Sat May 7 02:43:54 CDT 2005


This fixes bug 2939.

Changelog:
 '0' means 'default refresh rate' and not a real refresh rate of '0'

-- 
		 Lionel Ulmer - http://www.bbrox.org/
-------------- next part --------------
Index: dlls/ddraw/ddraw/user.c
===================================================================
RCS file: /home/wine/wine/dlls/ddraw/ddraw/user.c,v
retrieving revision 1.24
diff -u -r1.24 user.c
--- dlls/ddraw/ddraw/user.c	24 Apr 2005 17:23:39 -0000	1.24
+++ dlls/ddraw/ddraw/user.c	7 May 2005 07:40:46 -0000
@@ -502,11 +502,16 @@
     LONG pitch;
 
     TRACE("(%p)->(%ldx%ldx%ld,%ld Hz,%08lx)\n",This,dwWidth,dwHeight,dwBPP,dwRefreshRate,dwFlags);
-    devmode.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT | DM_DISPLAYFREQUENCY;
+    devmode.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
     devmode.dmBitsPerPel = dwBPP;
     devmode.dmPelsWidth  = dwWidth;
     devmode.dmPelsHeight = dwHeight;
-    devmode.dmDisplayFrequency = dwRefreshRate; 
+    /* '0' means default frequency */
+    if (dwRefreshRate != 0) 
+    {
+	devmode.dmFields |= DM_DISPLAYFREQUENCY;
+	devmode.dmDisplayFrequency = dwRefreshRate;
+    }
     if (ChangeDisplaySettingsExW(NULL, &devmode, NULL, CDS_FULLSCREEN, NULL) != DISP_CHANGE_SUCCESSFUL)
 	return DDERR_INVALIDMODE;
 


More information about the wine-patches mailing list