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
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index c8bc891..625eb80 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 10aad77..434cdcb 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())