summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArmin Le Grand <Armin.Le.Grand@Sun.COM>2009-12-03 12:33:17 +0100
committerArmin Le Grand <Armin.Le.Grand@Sun.COM>2009-12-03 12:33:17 +0100
commit3b790d2e0926c75a8a919e02bfad05d1b1aff800 (patch)
treeb395adbfe790d6fcbd87185f376d9a905ea2b698
parentaed7c63fea58badc64a0b6be2122b97de4520e95 (diff)
aw078: corrected small VCL Linux error for non-AA cases
-rw-r--r--vcl/source/gdi/outdev.cxx11
1 files changed, 10 insertions, 1 deletions
diff --git a/vcl/source/gdi/outdev.cxx b/vcl/source/gdi/outdev.cxx
index 7352f5ed45d9..8b20c8e384f7 100644
--- a/vcl/source/gdi/outdev.cxx
+++ b/vcl/source/gdi/outdev.cxx
@@ -2653,7 +2653,7 @@ void OutputDevice::DrawPolyLine( const Polygon& rPoly, const LineInfo& rLineInfo
void OutputDevice::ImpDrawPolyLineWithLineInfo(const Polygon& rPoly, const LineInfo& rLineInfo)
{
- const USHORT nPoints(rPoly.GetSize());
+ USHORT nPoints(rPoly.GetSize());
if ( !IsDeviceOutputNecessary() || !mbLineColor || ( nPoints < 2 ) || ( LINE_NONE == rLineInfo.GetStyle() ) || ImplIsRecordLayout() )
return;
@@ -2698,6 +2698,15 @@ void OutputDevice::ImpDrawPolyLineWithLineInfo(const Polygon& rPoly, const LineI
}
else
{
+ // #100127# the subdivision HAS to be done here since only a pointer
+ // to an array of points is given to the DrawPolyLine method, there is
+ // NO way to find out there that it's a curve.
+ if( aPoly.HasFlags() )
+ {
+ aPoly = ImplSubdivideBezier( aPoly );
+ nPoints = aPoly.GetSize();
+ }
+
mpGraphics->DrawPolyLine(nPoints, (const SalPoint*)aPoly.GetConstPointAry(), this);
}