Author: tkreuzer Date: Wed May 28 15:00:03 2008 New Revision: 33743
URL: http://svn.reactos.org/svn/reactos?rev=33743&view=rev Log: EngLineTo: if pco == NULL use a private clip object, initialized with bounds rect
Modified: trunk/reactos/subsystems/win32/win32k/eng/lineto.c
Modified: trunk/reactos/subsystems/win32/win32k/eng/lineto.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/eng... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/eng/lineto.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/eng/lineto.c [iso-8859-1] Wed May 28 15:00:03 2008 @@ -348,6 +348,7 @@ INTENG_ENTER_LEAVE EnterLeave; RECT_ENUM RectEnum; BOOL EnumMore; + CLIPOBJ *pcoPriv = NULL;
if (x1 < x2) { @@ -373,6 +374,15 @@ if (! IntEngEnter(&EnterLeave, DestObj, &DestRect, FALSE, &Translate, &OutputObj)) { return FALSE; + } + + if (!Clip) + { + Clip = pcoPriv = IntEngCreateClipRegion(0, 0, RectBounds); + if (!Clip) + { + return FALSE; + } }
x1 += Translate.x; @@ -485,6 +495,11 @@ SEtoNW(OutputObj, Clip, Brush, x, y, deltax, deltay, &Translate); } } + } + + if (pcoPriv) + { + IntEngDeleteClipRegion(pcoPriv); }
return IntEngLeave(&EnterLeave);