Author: gschneider Date: Sat Dec 19 19:57:27 2009 New Revision: 44656
URL: http://svn.reactos.org/svn/reactos?rev=44656&view=rev Log: [win32k] Add parameter checks for NtGdiSetVirtualResolution
Modified: trunk/reactos/subsystems/win32/win32k/objects/coord.c
Modified: trunk/reactos/subsystems/win32/win32k/objects/coord.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/coord.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/coord.c [iso-8859-1] Sat Dec 19 19:57:27 2009 @@ -1024,7 +1024,20 @@ PDC dc; PDC_ATTR pdcattr;
- // Need test types for zeros and non zeros + /* Check parameters (all zeroes resets to real resolution) */ + if (cxVirtualDevicePixel == 0 && cyVirtualDevicePixel == 0 && + cxVirtualDeviceMm == 0 && cyVirtualDeviceMm == 0) + { + cxVirtualDevicePixel = NtGdiGetDeviceCaps(hdc, HORZRES); + cyVirtualDevicePixel = NtGdiGetDeviceCaps(hdc, VERTRES); + cxVirtualDeviceMm = NtGdiGetDeviceCaps(hdc, HORZSIZE); + cyVirtualDeviceMm = NtGdiGetDeviceCaps(hdc, VERTSIZE); + } + else if (cxVirtualDevicePixel == 0 || cyVirtualDevicePixel == 0 || + cxVirtualDeviceMm == 0 || cyVirtualDeviceMm == 0) + { + return FALSE; + }
dc = DC_LockDc(hdc); if (!dc) return FALSE;