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

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


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

New commits:
commit 91230327fd28d9a021effea62e8cff4836e5a74d
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:26:59 2019 +0200

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

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


More information about the Libreoffice-commits mailing list