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…
==============================================================================
--- 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/ob…
==============================================================================
--- 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);
   }