[ros-diffs] [khornicek] 37373: use the dmSize we got from caller and fall back to SIZEOF_DEVMODEA_300 in case we got some unexpected value as it's done in Windows

khornicek at svn.reactos.org khornicek at svn.reactos.org
Sat Nov 15 14:54:18 CET 2008


Author: khornicek
Date: Sat Nov 15 07:54:17 2008
New Revision: 37373

URL: http://svn.reactos.org/svn/reactos?rev=37373&view=rev
Log:
use the dmSize we got from caller and fall back to SIZEOF_DEVMODEA_300 in case we got some unexpected value as it's done in Windows

Modified:
    trunk/reactos/dll/win32/user32/misc/display.c

Modified: trunk/reactos/dll/win32/user32/misc/display.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/misc/display.c?rev=37373&r1=37372&r2=37373&view=diff
==============================================================================
--- trunk/reactos/dll/win32/user32/misc/display.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/user32/misc/display.c [iso-8859-1] Sat Nov 15 07:54:17 2008
@@ -242,17 +242,14 @@
     COPYS(dmDeviceName, CCHDEVICENAME );
     COPYN(dmSpecVersion);
     COPYN(dmDriverVersion);
-    switch (DevModeW.dmSize)
-    {
-        case SIZEOF_DEVMODEW_300:
+    switch (lpDevMode->dmSize)
+    {
+        case SIZEOF_DEVMODEA_300:
+        case SIZEOF_DEVMODEA_400:
+        case SIZEOF_DEVMODEA_500:
+             break;
+        default:
             lpDevMode->dmSize = SIZEOF_DEVMODEA_300;
-            break;
-        case SIZEOF_DEVMODEW_400:
-            lpDevMode->dmSize = SIZEOF_DEVMODEA_400;
-            break;
-        case SIZEOF_DEVMODEW_500:
-        default: /* FIXME what to do??? */
-            lpDevMode->dmSize = SIZEOF_DEVMODEA_500;
             break;
     }
     COPYN(dmDriverExtra);
@@ -276,7 +273,7 @@
     COPYN(dmDisplayFlags); // aka dmNup
     COPYN(dmDisplayFrequency);
 
-    if (DevModeW.dmSize <= SIZEOF_DEVMODEW_300)
+    if (lpDevMode->dmSize <= SIZEOF_DEVMODEW_300)
         return TRUE; // we're done with 0x300 fields
 
     COPYN(dmICMMethod);
@@ -286,7 +283,7 @@
     COPYN(dmReserved1);
     COPYN(dmReserved2);
 
-    if (DevModeW.dmSize <= SIZEOF_DEVMODEW_400)
+    if (lpDevMode->dmSize <= SIZEOF_DEVMODEW_400)
         return TRUE; // we're done with 0x400 fields
 
     COPYN(dmPanningWidth);



More information about the Ros-diffs mailing list