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())