[Libreoffice-commits] core.git: vcl/quartz

Julien Nabet serval2412 at yahoo.fr
Fri Sep 23 16:22:48 UTC 2016


 vcl/quartz/salgdicommon.cxx |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 5333743d3b8288fb40e4657aedf1db2255f6a62b
Author: Julien Nabet <serval2412 at yahoo.fr>
Date:   Thu Sep 22 20:26:25 2016 +0200

    tdf#100994: use CGContextStrokePath instead
    
    This is a blind fix attempt to fix "Freeze when first action after launch with OSX Sierra with iMac 5K"
    
    I started from bt:
    frame #9: 0x00007fffbe094cf6 CoreGraphics`CGContextDrawPath + 183
    frame #10: 0x0000000102b16cda libvcllo.dylib`AquaSalGraphics::drawPolyLine(unsigned int, SalPoint const*) + 330
    frame #11: 0x0000000102929039 libvcllo.dylib`OutputDevice::drawPolyLine(tools::Polygon const&, LineInfo const&) + 361
    frame #12: 0x0000000102928d30 libvcllo.dylib`OutputDevice::DrawPolyLine(basegfx::B2DPolygon const&, double, basegfx::B2DLineJoin, com::sun::star::drawing::LineCap, double) + 768
    (see https://bug-attachments.documentfoundation.org/attachment.cgi?id=127502)
    
    then:
    http://stackoverflow.com/questions/32871234/how-to-make-kcgpathstroke-work-in-swift-2
    which advises to replace:
     CGContextDrawPath(ctx, kCGPathStroke)
    by
    CGContextDrawPath(ctx, .Stroke)
    
    and finally this:
    http://stackoverflow.com/questions/37838578/how-to-stroke-a-cgpath
    which advises to directly use this:
    CGContextStrokePath(context)
    
    Change-Id: I99f9800c39f18d16488f7ef4114a71722f9b8123
    Reviewed-on: https://gerrit.libreoffice.org/29194
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/quartz/salgdicommon.cxx b/vcl/quartz/salgdicommon.cxx
index aae7eff..ed6e4db 100644
--- a/vcl/quartz/salgdicommon.cxx
+++ b/vcl/quartz/salgdicommon.cxx
@@ -1439,8 +1439,8 @@ void AquaSalGraphics::drawPolyLine( sal_uInt32 nPoints, const SalPoint *pPtAry )
         SAL_INFO( "vcl.cg", "CGContextAddLineToPoint(" << mrContext << "," << fX << "," << fY << ")" );
         CGContextAddLineToPoint( mrContext, fX, fY );
     }
-    SAL_INFO( "vcl.cg", "CGContextDrawPath(" << mrContext << ",kCGPathStroke)" );
-    CGContextDrawPath( mrContext, kCGPathStroke );
+    SAL_INFO( "vcl.cg", "CGContextStrokePath(" << mrContext << ")" );
+    CGContextStrokePath(mrContext);
 
     RefreshRect( nX, nY, nWidth, nHeight );
 


More information about the Libreoffice-commits mailing list