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