[Libreoffice-commits] core.git: Branch 'libreoffice-6-3' - vcl/headless vcl/win

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Wed Aug 14 19:25:32 UTC 2019


 vcl/headless/svpgdi.cxx |   16 ++++++++++------
 vcl/win/gdi/gdiimpl.cxx |   14 +++++++++-----
 2 files changed, 19 insertions(+), 11 deletions(-)

New commits:
commit d72a9f930215b10f6f45a767b0515dcc8ad2b793
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Aug 14 13:09:36 2019 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Wed Aug 14 21:24:44 2019 +0200

    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 at cib.de>
    Tested-by: Jenkins

diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 26fe0651d7d3..467de73597e6 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 10efebc5cf47..e62d30a1fabe 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())


More information about the Libreoffice-commits mailing list