[ros-diffs] [tkreuzer] 36685: Fix FLOATOBJ_IsLong. Fix MapMode MM_ISOTROPIC. This fixes the clock in timedate.cpl.

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Wed Oct 8 00:57:50 CEST 2008


Author: tkreuzer
Date: Tue Oct  7 17:57:50 2008
New Revision: 36685

URL: http://svn.reactos.org/svn/reactos?rev=36685&view=rev
Log:
Fix FLOATOBJ_IsLong. Fix MapMode MM_ISOTROPIC.
This fixes the clock in timedate.cpl.

Modified:
    trunk/reactos/subsystems/win32/win32k/include/floatobj.h
    trunk/reactos/subsystems/win32/win32k/objects/coord.c

Modified: trunk/reactos/subsystems/win32/win32k/include/floatobj.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/include/floatobj.h?rev=36685&r1=36684&r2=36685&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/floatobj.h [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/include/floatobj.h [iso-8859-1] Tue Oct  7 17:57:50 2008
@@ -35,6 +35,7 @@
 {
 	EFLOAT_S *pef = (EFLOAT_S*)pf;
 	ULONG Shift = 32 - pef->lExp;
+	if (Shift > 31) return FALSE;
 	return (((pef->lMant >> Shift) << Shift) == pef->lMant);
 }
 

Modified: trunk/reactos/subsystems/win32/win32k/objects/coord.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/coord.c?rev=36685&r1=36684&r2=36685&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/coord.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/coord.c [iso-8859-1] Tue Oct  7 17:57:50 2008
@@ -672,8 +672,14 @@
                              INVALIDATE_ATTRIBUTES|DEVICE_TO_WORLD_INVALID);
         break;
 
+      case MM_ISOTROPIC:
+        Dc_Attr->szlWindowExt.cx = 3600;
+        Dc_Attr->szlWindowExt.cy = 2700;
+        Dc_Attr->szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes;
+        Dc_Attr->szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes;
+        break;
+
       case MM_LOMETRIC:
-      case MM_ISOTROPIC:
         Dc_Attr->szlWindowExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize * 10;
         Dc_Attr->szlWindowExt.cy = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize * 10;
         Dc_Attr->szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes;



More information about the Ros-diffs mailing list