diff options
author | Armin Le Grand <Armin.Le.Grand@Sun.COM> | 2009-12-03 12:33:17 +0100 |
---|---|---|
committer | Armin Le Grand <Armin.Le.Grand@Sun.COM> | 2009-12-03 12:33:17 +0100 |
commit | 3b790d2e0926c75a8a919e02bfad05d1b1aff800 (patch) | |
tree | b395adbfe790d6fcbd87185f376d9a905ea2b698 | |
parent | aed7c63fea58badc64a0b6be2122b97de4520e95 (diff) |
aw078: corrected small VCL Linux error for non-AA cases
-rw-r--r-- | vcl/source/gdi/outdev.cxx | 11 |
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); } |