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/obj... ============================================================================== --- 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); }