[ros-diffs] [jimtabor] 36652: - Force a recompute when setting map modes.

jimtabor at svn.reactos.org jimtabor at svn.reactos.org
Sun Oct 5 13:26:12 CEST 2008


Author: jimtabor
Date: Sun Oct  5 06:26:09 2008
New Revision: 36652

URL: http://svn.reactos.org/svn/reactos?rev=36652&view=rev
Log:
- Force a recompute when setting map modes.

Modified:
    trunk/reactos/dll/win32/gdi32/objects/dc.c
    trunk/reactos/subsystems/win32/win32k/objects/coord.c

Modified: trunk/reactos/dll/win32/gdi32/objects/dc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/dc.c?rev=36652&r1=36651&r2=36652&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/dc.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/gdi32/objects/dc.c [iso-8859-1] Sun Oct  5 06:26:09 2008
@@ -1275,8 +1275,13 @@
       return 0;
     }
 #endif
-  if ((Mode == Dc_Attr->iMapMode) && (Mode != MM_ISOTROPIC)) return Mode;
-  return GetAndSetDCDWord( hdc, GdiGetSetMapMode, Mode, 0, 0, 0 );
+  // Force change if Isotropic is set for recompute.
+  if ((Mode != Dc_Attr->iMapMode) || (Mode == MM_ISOTROPIC))
+  {
+      Dc_Attr->ulDirty_ &= ~SLOW_WIDTHS;
+      return GetAndSetDCDWord( hdc, GdiGetSetMapMode, Mode, 0, 0, 0 );
+  }
+  return Dc_Attr->iMapMode;
 }
 
 /*

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=36652&r1=36651&r2=36652&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] Sun Oct  5 06:26:09 2008
@@ -657,12 +657,10 @@
 
   PrevMapMode = Dc_Attr->iMapMode;
 
-  if (MapMode != Dc_Attr->iMapMode || (MapMode != MM_ISOTROPIC && MapMode != MM_ANISOTROPIC))
-  {
-    Dc_Attr->iMapMode = MapMode;
-
-    switch (MapMode)
-    {
+  Dc_Attr->iMapMode = MapMode;
+
+  switch (MapMode)
+  {
       case MM_TEXT:
         Dc_Attr->szlWindowExt.cx = 1;
         Dc_Attr->szlWindowExt.cy = 1;
@@ -717,7 +715,6 @@
       default:
         Dc_Attr->iMapMode = PrevMapMode;
         PrevMapMode = 0;
-    }
 
     DC_UpdateXforms(dc);
   }



More information about the Ros-diffs mailing list