diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-08-14 13:09:36 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-08-14 21:26:59 +0200 |
commit | 91230327fd28d9a021effea62e8cff4836e5a74d (patch) | |
tree | 47cdda0757622f341269450fe6e33e36455a52a0 | |
parent | ad372e603547d54ab28271d89adc45250368a248 (diff) |
tdf#124700 don't pull from or insert into cache for PixelSnapHairline
Change-Id: I7ca0f556164b6bc462cee3c5532733dbd6b68a2b
Reviewed-on: https://gerrit.libreoffice.org/77457
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Tested-by: Jenkins
-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()) |