canvas/source/cairo/cairo_canvashelper.cxx |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit c9f8d834bbbe77eb5fd5cc267ea518e6a8d1b827
Author: Caolán McNamara <caol...@redhat.com>
Date:   Thu Oct 6 09:56:29 2016 +0100

    Resolves: tdf#103026 invalid dash causes CAIRO_STATUS_INVALID_DASH state
    
    (cherry picked from commit c5d355e9c9cbc94eede8f438895e192d834f7096)
    
    Change-Id: I072635ff7c67022ebfd5bdb475e390f3aab7a51c
    Reviewed-on: https://gerrit.libreoffice.org/29553
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Michael Stahl <mst...@redhat.com>
    (cherry picked from commit 91e0a73984f72e0f04e6087524332f6354f627d0)
    Reviewed-on: https://gerrit.libreoffice.org/29670
    Reviewed-by: David Tardon <dtar...@redhat.com>
    Reviewed-by: jan iversen <j...@documentfoundation.org>
    Tested-by: jan iversen <j...@documentfoundation.org>

diff --git a/canvas/source/cairo/cairo_canvashelper.cxx 
b/canvas/source/cairo/cairo_canvashelper.cxx
index af94c38..8feda7a 100644
--- a/canvas/source/cairo/cairo_canvashelper.cxx
+++ b/canvas/source/cairo/cairo_canvashelper.cxx
@@ -1209,7 +1209,10 @@ namespace cairocanvas
                     break;
             }
 
-            if( strokeAttributes.DashArray.getLength() > 0 )
+            //tdf#103026 If the w scaling is 0, then all dashes become zero so
+            //cairo will set the cairo_t status to CAIRO_STATUS_INVALID_DASH
+            //and no further drawing will occur
+            if (strokeAttributes.DashArray.getLength() > 0 && w > 0.0)
             {
                 double* pDashArray = new double[ 
strokeAttributes.DashArray.getLength() ];
                 for( sal_Int32 i=0; i<strokeAttributes.DashArray.getLength(); 
i++ )
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to