diff options
-rw-r--r-- | vcl/headless/svpgdi.cxx | 16 | ||||
-rw-r--r-- | vcl/win/gdi/gdiimpl.cxx | 14 |
2 files changed, 19 insertions, 11 deletions
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx index c8bc89160c3a..625eb803fa6d 100644 --- a/vcl/headless/svpgdi.cxx +++ b/vcl/headless/svpgdi.cxx @@ -1277,7 +1277,8 @@ bool SvpSalGraphics::drawPolyLine( // check data validity if(nullptr == pSystemDependentData_CairoPath->getCairoPath() || pSystemDependentData_CairoPath->getNoJoin() != bNoJoin - || pSystemDependentData_CairoPath->getAntiAliasB2DDraw() != bAntiAliasB2DDraw) + || pSystemDependentData_CairoPath->getAntiAliasB2DDraw() != bAntiAliasB2DDraw + || bPixelSnapHairline /*tdf#124700*/ ) { // data invalid, forget pSystemDependentData_CairoPath.reset(); @@ -1332,11 +1333,14 @@ bool SvpSalGraphics::drawPolyLine( } // copy and add to buffering mechanism - pSystemDependentData_CairoPath = rPolyLine.addOrReplaceSystemDependentData<SystemDependentData_CairoPath>( - ImplGetSystemDependentDataManager(), - cairo_copy_path(cr), - bNoJoin, - bAntiAliasB2DDraw); + if (!bPixelSnapHairline /*tdf#124700*/) + { + pSystemDependentData_CairoPath = rPolyLine.addOrReplaceSystemDependentData<SystemDependentData_CairoPath>( + ImplGetSystemDependentDataManager(), + cairo_copy_path(cr), + bNoJoin, + bAntiAliasB2DDraw); + } } // extract extents diff --git a/vcl/win/gdi/gdiimpl.cxx b/vcl/win/gdi/gdiimpl.cxx index 10aad77ed229..434cdcbac8e4 100644 --- a/vcl/win/gdi/gdiimpl.cxx +++ b/vcl/win/gdi/gdiimpl.cxx @@ -2264,7 +2264,8 @@ bool WinSalGraphicsImpl::drawPolyLine( if(pSystemDependentData_GraphicsPath) { // check data validity - if(pSystemDependentData_GraphicsPath->getNoLineJoin() != bNoLineJoin) + if (pSystemDependentData_GraphicsPath->getNoLineJoin() != bNoLineJoin + || bPixelSnapHairline /*tdf#124700*/) { // data invalid, forget pSystemDependentData_GraphicsPath.reset(); @@ -2295,10 +2296,13 @@ bool WinSalGraphicsImpl::drawPolyLine( } // add to buffering mechanism - rPolygon.addOrReplaceSystemDependentData<SystemDependentData_GraphicsPath>( - ImplGetSystemDependentDataManager(), - pGraphicsPath, - bNoLineJoin); + if (!bPixelSnapHairline /*tdf#124700*/) + { + rPolygon.addOrReplaceSystemDependentData<SystemDependentData_GraphicsPath>( + ImplGetSystemDependentDataManager(), + pGraphicsPath, + bNoLineJoin); + } } if(mrParent.getAntiAliasB2DDraw()) |