tdf#124700 don't pull from or insert into cache for PixelSnapHairline
Change-Id: I7ca0f556164b6bc462cee3c5532733dbd6b68a2b
Reviewed-on: https://gerrit.libreoffice.org/77456
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Tested-by: Jenkins
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 26fe065..467de73 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -1282,7 +1282,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();
@@ -1337,11 +1338,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 10efebc..e62d30a 100644
--- a/vcl/win/gdi/gdiimpl.cxx
+++ b/vcl/win/gdi/gdiimpl.cxx
@@ -2286,7 +2286,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();
@@ -2317,10 +2318,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())