drawinglayer/source/processor2d/vclprocessor2d.cxx |    8 ++++++++
 1 file changed, 8 insertions(+)

New commits:
commit 2023a5291984438de52a95e5bc560a82d69eaca1
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Sun Oct 31 14:51:24 2021 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Sun Oct 31 17:33:46 2021 +0100

    crashtesting: failure on conversion of fdo74498-1.doc to pdf
    
    noticable since...
    
    commit 894b4911ffb96ff667fdeb3aec7922316ab7230a
    Date:   Thu Oct 28 09:27:29 2021 +0200
    
        pass DX array around using o3tl::span instead of pointer
    
    but presumably a problem since...
    
    commit 793905906980e77a9853a8dd01fab95b65ca4f02
    Date:   Tue Sep 14 15:28:33 2010 +0200
    
        filled-tab-editeng.diff: Filled tab wasn't filled in shapes
    
        n#564454
    
    here I assume the right fix is to extend the DXArray (if non-empty) to
    match the new length using the value of the initial entry of the old
    DXArray
    
    Change-Id: I36a6040c2d05e108c7c6f9cdab9a33557036cd22
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124528
    Tested-by: Jenkins
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx 
b/drawinglayer/source/processor2d/vclprocessor2d.cxx
index 831972d187ab..b055ef229ce2 100644
--- a/drawinglayer/source/processor2d/vclprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclprocessor2d.cxx
@@ -307,6 +307,14 @@ void 
VclProcessor2D::RenderTextSimpleOrDecoratedPortionPrimitive2D(
                 aText = aFilled.makeStringAndClear();
                 nPos = 0;
                 nLen = nChars;
+
+                if (!aTransformedDXArray.empty())
+                {
+                    sal_Int32 nDX = aTransformedDXArray[0];
+                    aTransformedDXArray.resize(nLen);
+                    for (sal_Int32 i = 1; i < nLen; ++i)
+                        aTransformedDXArray[i] = aTransformedDXArray[i - 1] + 
nDX;
+                }
             }
 
             if (!aTransformedDXArray.empty())

Reply via email to