[Libreoffice-commits] core.git: Branch 'distro/lhm/libreoffice-6-4+backports' - 18 commits - config_host/config_qrcodegen.h.in config_host.mk.in configure.ac cui/source distro-configs/LibreOfficeOssFuzz.conf external/qrcodegen include/svtools include/unotools include/xmloff lotuswordpro/source officecfg/registry oox/source RepositoryExternal.mk sc/source sc/uiconfig sdext/source sd/qa svtools/source sw/CppunitTest_sw_core_crsr.mk sw/inc sw/Module_sw.mk sw/qa sw/source sw/uiconfig unotools/source vcl/source writerfilter/source xmloff/source

Michael Weghorn (via logerrit) logerrit at kemper.freedesktop.org
Tue Sep 29 10:25:39 UTC 2020


 RepositoryExternal.mk                                             |    9 
 config_host.mk.in                                                 |    1 
 config_host/config_qrcodegen.h.in                                 |   17 +
 configure.ac                                                      |   54 +++-
 cui/source/dialogs/QrCodeGenDialog.cxx                            |   24 +-
 cui/source/inc/QrCodeGenDialog.hxx                                |    2 
 cui/source/inc/numpages.hxx                                       |    1 
 cui/source/tabpages/numpages.cxx                                  |    7 
 distro-configs/LibreOfficeOssFuzz.conf                            |    1 
 external/qrcodegen/Module_qrcodegen.mk                            |    4 
 include/svtools/filechangedchecker.hxx                            |    2 
 include/unotools/compatibility.hxx                                |    4 
 include/xmloff/txtparae.hxx                                       |    2 
 lotuswordpro/source/filter/lwptablelayout.cxx                     |   14 -
 lotuswordpro/source/filter/lwptablelayout.hxx                     |    2 
 officecfg/registry/schema/org/openoffice/Office/Compatibility.xcs |    8 
 oox/source/drawingml/shape.cxx                                    |    3 
 oox/source/drawingml/textbodypropertiescontext.cxx                |    5 
 sc/source/core/data/table2.cxx                                    |    5 
 sc/uiconfig/scalc/ui/searchresults.ui                             |    2 
 sd/qa/unit/data/pptx/shape-text-alignment.pptx                    |binary
 sd/qa/unit/data/xml/n762695_0.xml                                 |    6 
 sd/qa/unit/data/xml/n762695_1.xml                                 |   10 
 sd/qa/unit/data/xml/n819614_0.xml                                 |  114 +++++-----
 sd/qa/unit/data/xml/n820786_0.xml                                 |  102 ++++----
 sd/qa/unit/data/xml/tdf109317_0.xml                               |   12 -
 sd/qa/unit/import-tests.cxx                                       |   21 +
 sdext/source/minimizer/fileopendialog.cxx                         |    8 
 svtools/source/misc/filechangedchecker.cxx                        |   21 +
 sw/CppunitTest_sw_core_crsr.mk                                    |   73 ++++++
 sw/Module_sw.mk                                                   |    1 
 sw/inc/IDocumentSettingAccess.hxx                                 |    1 
 sw/qa/core/crsr/crsr.cxx                                          |   58 +++++
 sw/qa/core/crsr/data/sel-all-starts-with-table.odt                |binary
 sw/qa/extras/odfexport/data/nestedTableInFooter.odt               |binary
 sw/qa/extras/odfexport/odfexport.cxx                              |   12 +
 sw/qa/python/xtextfieldssupplier.py                               |    5 
 sw/source/core/crsr/callnk.cxx                                    |    5 
 sw/source/core/doc/DocumentSettingManager.cxx                     |    7 
 sw/source/core/doc/docfmt.cxx                                     |    1 
 sw/source/core/doc/doclay.cxx                                     |    8 
 sw/source/core/inc/DocumentSettingManager.hxx                     |    1 
 sw/source/core/layout/calcmove.cxx                                |   16 +
 sw/source/core/layout/flowfrm.cxx                                 |   12 -
 sw/source/core/layout/frmtool.cxx                                 |    2 
 sw/source/core/view/viewsh.cxx                                    |    5 
 sw/source/filter/ww8/ww8par.cxx                                   |    1 
 sw/source/filter/xml/xmlimp.cxx                                   |    7 
 sw/source/filter/xml/xmltble.cxx                                  |   21 +
 sw/source/ui/config/optcomp.cxx                                   |   48 +++-
 sw/source/uibase/uno/SwXDocumentSettings.cxx                      |   13 +
 sw/uiconfig/swriter/ui/optcompatpage.ui                           |    1 
 unotools/source/config/compatibility.cxx                          |    2 
 vcl/source/font/fontcharmap.cxx                                   |   32 ++
 writerfilter/source/filter/WriterFilter.cxx                       |    1 
 xmloff/source/text/txtparae.cxx                                   |    2 
 56 files changed, 597 insertions(+), 199 deletions(-)

New commits:
commit e3daa3b3aa88ada77d4680a2df9ef534341cb618
Merge: d0fdfe0e92a1 956513a6990f
Author:     Michael Weghorn <m.weghorn at posteo.de>
AuthorDate: Mon Sep 28 17:46:27 2020 +0200
Commit:     Michael Weghorn <m.weghorn at posteo.de>
CommitDate: Mon Sep 28 17:46:27 2020 +0200

    Merge branch 'libreoffice-6-4'
    
    into distro/lhm/libreoffice-6-4+backports
    
    Change-Id: Id89f295a3e669a51da822c09a759165dfc79dc6f

commit 956513a6990f59b8bcf2ed7e12a6c8fe57bb13f5
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Sep 23 19:32:33 2020 +0100
Commit:     Michael Weghorn <m.weghorn at posteo.de>
CommitDate: Mon Sep 28 16:56:46 2020 +0200

    fix disable qrcodegen option
    
    Change-Id: Ic554f01125653022987c70d03c8c9d86fe3f547a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103272
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Reviewed-by: Michael Weghorn <m.weghorn at posteo.de>

diff --git a/configure.ac b/configure.ac
index 808515abe86b..a62c131a6d0e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10080,7 +10080,7 @@ dnl ===================================================================
 dnl Check for system qrcodegen
 dnl ===================================================================
 AC_MSG_CHECKING([whether to use libqrcodegen])
-if test "$enable_libqrcodegen" = "no"; then
+if test "$enable_qrcodegen" = "no"; then
     AC_MSG_RESULT([no])
     ENABLE_QRCODEGEN=
     SYSTEM_QRCODEGEN=
diff --git a/cui/source/inc/QrCodeGenDialog.hxx b/cui/source/inc/QrCodeGenDialog.hxx
index a3ca38d48d4a..741253f7687d 100644
--- a/cui/source/inc/QrCodeGenDialog.hxx
+++ b/cui/source/inc/QrCodeGenDialog.hxx
@@ -9,6 +9,8 @@
 #ifndef INCLUDED_CUI_INC_QRCODEGENDIALOG_HXX
 #define INCLUDED_CUI_INC_QRCODEGENDIALOG_HXX
 
+#include <config_qrcodegen.h>
+
 #include <vcl/weld.hxx>
 
 #include <com/sun/star/frame/XModel.hpp>
commit 70b2ee8ce4aa081a608bbde4f3125300675934c5
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Wed Sep 23 18:51:54 2020 +0200
Commit:     Thorsten Behrens <Thorsten.Behrens at CIB.de>
CommitDate: Fri Sep 25 03:38:08 2020 +0200

    tdf#134782 sw,unotools,officecfg: adapt configuration and UI
    
    Store AddParaLineSpacingToTableCells in configuration as
    "AddTableLineSpacing", consistently inconsistent like AddTableSpacing
    (the <desc> elements are not subject to translation).
    
    Adapt SwCompatibilityOptPage with some ugly hacks to allow 3 different
    states (TriState) for the corresponding checkbox that map to false/false,
    true/false and true/true.
    
    The checkbox widget doesn't allow to change *to* indeterminate but at
    least the status of the document can be displayed this way,
    with a non-obvious tweak to optcompatpage.ui to reference "checktri1"
    column.
    
    Change-Id: I5f32e05c93b5e16e782cba5d1d055809d9e5e251
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103318
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.stahl at cib.de>
    (cherry picked from commit 68aec8fd57eda8c05926b7f361dc102772f2c501)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103360
    Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>

diff --git a/include/unotools/compatibility.hxx b/include/unotools/compatibility.hxx
index 24f2da53e590..812b8cc480bd 100644
--- a/include/unotools/compatibility.hxx
+++ b/include/unotools/compatibility.hxx
@@ -62,6 +62,10 @@ class UNOTOOLS_DLLPUBLIC SvtCompatibilityEntry
             MsWordTrailingBlanks,
             SubtractFlysAnchoredAtFlys,
             EmptyDbFieldHidesPara,
+            /// special entry: optcomp.cxx converts the other values to
+            /// integers but not this one because it doesn't have its own
+            /// checkbox, so keep it at the end!
+            AddTableLineSpacing,
 
             /* Should be at the end. Do not remove it. */
             INVALID
diff --git a/officecfg/registry/schema/org/openoffice/Office/Compatibility.xcs b/officecfg/registry/schema/org/openoffice/Office/Compatibility.xcs
index 71007f80c22e..77d33d1fbc0c 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Compatibility.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Compatibility.xcs
@@ -76,7 +76,13 @@
       </prop>
       <prop oor:name="AddTableSpacing" oor:type="xs:boolean" oor:nillable="false">
         <info>
-          <desc>???</desc>
+          <desc>Add paragraph and table spacing at bottom of table cells</desc>
+        </info>
+        <value>true</value>
+      </prop>
+      <prop oor:name="AddTableLineSpacing" oor:type="xs:boolean" oor:nillable="false">
+        <info>
+          <desc>Add paragraph line spacing at bottom of table cells</desc>
         </info>
         <value>true</value>
       </prop>
diff --git a/sw/source/core/doc/DocumentSettingManager.cxx b/sw/source/core/doc/DocumentSettingManager.cxx
index a29c5bc6275f..726db3242647 100644
--- a/sw/source/core/doc/DocumentSettingManager.cxx
+++ b/sw/source/core/doc/DocumentSettingManager.cxx
@@ -112,7 +112,7 @@ sw::DocumentSettingManager::DocumentSettingManager(SwDoc &rDoc)
         mbAddExternalLeading                = !aOptions.GetDefault( SvtCompatibilityEntry::Index::NoExtLeading );
         mbOldLineSpacing                    = aOptions.GetDefault( SvtCompatibilityEntry::Index::UseLineSpacing );
         mbAddParaSpacingToTableCells        = aOptions.GetDefault( SvtCompatibilityEntry::Index::AddTableSpacing );
-        mbAddParaLineSpacingToTableCells    = aOptions.GetDefault( SvtCompatibilityEntry::Index::AddTableSpacing ); // FIXME? separate UI?
+        mbAddParaLineSpacingToTableCells    = aOptions.GetDefault( SvtCompatibilityEntry::Index::AddTableLineSpacing );
         mbUseFormerObjectPos                = aOptions.GetDefault( SvtCompatibilityEntry::Index::UseObjectPositioning );
         mbUseFormerTextWrapping             = aOptions.GetDefault( SvtCompatibilityEntry::Index::UseOurTextWrapping );
         mbConsiderWrapOnObjPos              = aOptions.GetDefault( SvtCompatibilityEntry::Index::ConsiderWrappingStyle );
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index 6ce52e5e041c..bf160861ee3c 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -833,10 +833,13 @@ void SwViewShell::SetUseVirDev( bool bNewVirtual )
 void SwViewShell::SetAddParaSpacingToTableCells( bool _bAddParaSpacingToTableCells )
 {
     IDocumentSettingAccess& rIDSA = getIDocumentSettingAccess();
-    if ( rIDSA.get(DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS) != _bAddParaSpacingToTableCells )
+    if (rIDSA.get(DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS) != _bAddParaSpacingToTableCells
+        || rIDSA.get(DocumentSettingId::ADD_PARA_LINE_SPACING_TO_TABLE_CELLS) != _bAddParaSpacingToTableCells)
     {
         SwWait aWait( *GetDoc()->GetDocShell(), true );
         rIDSA.set(DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS, _bAddParaSpacingToTableCells );
+        // note: the dialog can't change the value to indeterminate, so only false/false and true/true
+        rIDSA.set(DocumentSettingId::ADD_PARA_LINE_SPACING_TO_TABLE_CELLS, _bAddParaSpacingToTableCells );
         const SwInvalidateFlags nInv = SwInvalidateFlags::PrtArea;
         lcl_InvalidateAllContent( *this, nInv );
     }
diff --git a/sw/source/ui/config/optcomp.cxx b/sw/source/ui/config/optcomp.cxx
index 9ae91126e608..8c2c821570ad 100644
--- a/sw/source/ui/config/optcomp.cxx
+++ b/sw/source/ui/config/optcomp.cxx
@@ -72,7 +72,9 @@ SwCompatibilityOptPage::SwCompatibilityOptPage(weld::Container* pPage, weld::Dia
     m_xGlobalOptionsCLB->set_column_fixed_widths(aWidths);
 
     int nPos = 0;
-    for ( int i = static_cast<int>(SvtCompatibilityEntry::Index::Module) + 1; i < static_cast<int>(SvtCompatibilityEntry::Index::INVALID); ++i )
+    for (int i = static_cast<int>(SvtCompatibilityEntry::Index::Module) + 1;
+         i < static_cast<int>(SvtCompatibilityEntry::Index::INVALID) - 1; // omit AddTableLineSpacing
+         ++i)
     {
         int nCoptIdx = i - 2; /* Do not consider "Name" & "Module" indexes */
 
@@ -122,6 +124,7 @@ static sal_uLong convertBools2Ulong_Impl
     bool _bNoExtLeading,
     bool _bUseLineSpacing,
     bool _bAddTableSpacing,
+    bool _bAddTableLineSpacing,
     bool _bUseObjPos,
     bool _bUseOurTextWrapping,
     bool _bConsiderWrappingStyle,
@@ -156,6 +159,9 @@ static sal_uLong convertBools2Ulong_Impl
     if ( _bAddTableSpacing )
         nRet |= nSetBit;
     nSetBit = nSetBit << 1;
+    if (_bAddTableLineSpacing)
+        nRet |= nSetBit;
+    nSetBit = nSetBit << 1;
     if ( _bUseObjPos )
         nRet |= nSetBit;
     nSetBit = nSetBit << 1;
@@ -253,6 +259,7 @@ void SwCompatibilityOptPage::InitControls( const SfxItemSet& rSet )
             aEntry.getValue<bool>( SvtCompatibilityEntry::Index::NoExtLeading ),
             aEntry.getValue<bool>( SvtCompatibilityEntry::Index::UseLineSpacing ),
             aEntry.getValue<bool>( SvtCompatibilityEntry::Index::AddTableSpacing ),
+            aEntry.getValue<bool>(SvtCompatibilityEntry::Index::AddTableLineSpacing),
             aEntry.getValue<bool>( SvtCompatibilityEntry::Index::UseObjectPositioning ),
             aEntry.getValue<bool>( SvtCompatibilityEntry::Index::UseOurTextWrapping ),
             aEntry.getValue<bool>( SvtCompatibilityEntry::Index::ConsiderWrappingStyle ),
@@ -288,6 +295,15 @@ IMPL_LINK_NOARG(SwCompatibilityOptPage, UseAsDefaultHdl, weld::Button&, void)
 
                 int nCoptIdx = i + 2; /* Consider "Name" & "Module" indexes */
                 pItem->setValue<bool>( SvtCompatibilityEntry::Index(nCoptIdx), bChecked );
+                if (nCoptIdx == int(SvtCompatibilityEntry::Index::AddTableSpacing))
+                {
+                    bool const isLineSpacing = m_xOptionsLB->get_toggle(i, 0) == TRISTATE_TRUE;
+                    pItem->setValue<bool>(SvtCompatibilityEntry::Index::AddTableLineSpacing, isLineSpacing);
+                }
+                else
+                {
+                    assert(m_xOptionsLB->get_toggle(i, 0) != TRISTATE_INDET);
+                }
             }
         }
 
@@ -302,7 +318,17 @@ void SwCompatibilityOptPage::SetCurrentOptions( sal_uLong nOptions )
     for (int i = 0; i < nCount; ++i)
     {
         bool bChecked = ( ( nOptions & 0x00000001 ) == 0x00000001 );
-        m_xOptionsLB->set_toggle(i, bChecked ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
+        TriState value = bChecked ? TRISTATE_TRUE : TRISTATE_FALSE;
+        if (i == int(SvtCompatibilityEntry::Index::AddTableSpacing) - 2)
+        {   // hack: map 2 bools to 1 tristate
+            nOptions = nOptions >> 1;
+            if (value == TRISTATE_TRUE
+                && (nOptions & 0x00000001) != 0x00000001) // ADD_PARA_LINE_SPACING_TO_TABLE_CELLS
+            {
+                value = TRISTATE_INDET; // 3 values possible here
+            }
+        }
+        m_xOptionsLB->set_toggle(i, value, 0);
         nOptions = nOptions >> 1;
     }
 }
@@ -321,6 +347,7 @@ sal_uLong SwCompatibilityOptPage::GetDocumentOptions() const
             !rIDocumentSettingAccess.get( DocumentSettingId::ADD_EXT_LEADING ),
             rIDocumentSettingAccess.get( DocumentSettingId::OLD_LINE_SPACING ),
             rIDocumentSettingAccess.get( DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS ),
+            rIDocumentSettingAccess.get( DocumentSettingId::ADD_PARA_LINE_SPACING_TO_TABLE_CELLS ),
             rIDocumentSettingAccess.get( DocumentSettingId::USE_FORMER_OBJECT_POS ),
             rIDocumentSettingAccess.get( DocumentSettingId::USE_FORMER_TEXT_WRAPPING ),
             rIDocumentSettingAccess.get( DocumentSettingId::CONSIDER_WRAP_ON_OBJECT_POSITION ),
@@ -356,10 +383,21 @@ bool SwCompatibilityOptPage::FillItemSet( SfxItemSet*  )
 
         for (int i = 0; i < nCount; ++i)
         {
-            bool bChecked = m_xOptionsLB->get_toggle(i, 0) == TRISTATE_TRUE;
-            bool bSavedChecked = ( ( nSavedOptions & 0x00000001 ) == 0x00000001 );
-            if ( bChecked != bSavedChecked )
+            TriState const current = m_xOptionsLB->get_toggle(i, 0);
+            TriState saved = ((nSavedOptions & 0x00000001) == 0x00000001) ? TRISTATE_TRUE : TRISTATE_FALSE;
+            if (i == int(SvtCompatibilityEntry::Index::AddTableSpacing) - 2)
+            {   // hack: map 2 bools to 1 tristate
+                nSavedOptions = nSavedOptions >> 1;
+                if (saved == TRISTATE_TRUE
+                    && ((nSavedOptions & 0x00000001) != 0x00000001))
+                {
+                    saved = TRISTATE_INDET;
+                }
+            }
+            if (current != saved)
             {
+                bool const bChecked(current != TRISTATE_FALSE);
+                assert(current != TRISTATE_INDET); // can't *change* it to that
                 int nCoptIdx = i + 2; /* Consider "Name" & "Module" indexes */
                 switch ( SvtCompatibilityEntry::Index(nCoptIdx) )
                 {
diff --git a/sw/uiconfig/swriter/ui/optcompatpage.ui b/sw/uiconfig/swriter/ui/optcompatpage.ui
index 29a5c6eaee75..1018dcc5e979 100644
--- a/sw/uiconfig/swriter/ui/optcompatpage.ui
+++ b/sw/uiconfig/swriter/ui/optcompatpage.ui
@@ -229,6 +229,7 @@
                               <attributes>
                                 <attribute name="visible">3</attribute>
                                 <attribute name="active">0</attribute>
+                                <attribute name="inconsistent">4</attribute>
                               </attributes>
                             </child>
                           </object>
diff --git a/unotools/source/config/compatibility.cxx b/unotools/source/config/compatibility.cxx
index a71c8ac39c8d..5556a0a231d4 100644
--- a/unotools/source/config/compatibility.cxx
+++ b/unotools/source/config/compatibility.cxx
@@ -66,6 +66,7 @@ SvtCompatibilityEntry::SvtCompatibilityEntry()
     setValue<bool>( Index::MsWordTrailingBlanks, false );
     setValue<bool>( Index::SubtractFlysAnchoredAtFlys, false );
     setValue<bool>( Index::EmptyDbFieldHidesPara, true );
+    setValue<bool>( Index::AddTableLineSpacing, false );
 
     setDefaultEntry( false );
 }
@@ -94,6 +95,7 @@ OUString SvtCompatibilityEntry::getName( const Index rIdx )
         "MsWordCompTrailingBlanks",
         "SubtractFlysAnchoredAtFlys",
         "EmptyDbFieldHidesPara",
+        "AddTableLineSpacing",
     };
 
     /* Size of sPropertyName array not equal size of the SvtCompatibilityEntry::Index enum class */
commit d731b65d3c6b58ed98ee60488d07e5cba653ede0
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Wed Sep 23 15:14:08 2020 +0200
Commit:     Thorsten Behrens <Thorsten.Behrens at CIB.de>
CommitDate: Fri Sep 25 03:37:50 2020 +0200

    tdf#134782 sw: split AddParaSpacingToTableCells flag in 2
    
    commit 3cccdabf19a99fd3f657985c1822436d7679df2b "extend
    AddParaSpacingToTableCells with line spacing" changed how the
    ADD_PARA_SPACING_TO_TABLE_CELLS compat flag works, to improve interop
    with Word.
    
    This commit splits out the change as a separate new compat flag
    ADD_PARA_LINE_SPACING_TO_TABLE_CELLS ("AddParaLineSpacingToTableCells"),
    to preserve compatibility with ODT documents that were produced
    by LO < 6.4 (via SwXMLImport::SetConfigurationSettings()).
    
    New documents and WW8/RTF/DOCX import have both flags enabled.
    
    The combination false/true is invalid, and treated as equivalent
    to false/false.
    
    Change-Id: Ida20df8fe4a8192a714f91da95345f9726fd7d98
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103317
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.stahl at cib.de>
    (cherry picked from commit 38aa699f265c17548769aaa4f20e1ae35d18f202)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103359
    Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>

diff --git a/sw/inc/IDocumentSettingAccess.hxx b/sw/inc/IDocumentSettingAccess.hxx
index 814f139b64fc..5b093bc0d08a 100644
--- a/sw/inc/IDocumentSettingAccess.hxx
+++ b/sw/inc/IDocumentSettingAccess.hxx
@@ -47,6 +47,7 @@ enum class DocumentSettingId
     USE_HIRES_VIRTUAL_DEVICE,
     OLD_LINE_SPACING,
     ADD_PARA_SPACING_TO_TABLE_CELLS,
+    ADD_PARA_LINE_SPACING_TO_TABLE_CELLS,
     USE_FORMER_OBJECT_POS,
     USE_FORMER_TEXT_WRAPPING,
     CONSIDER_WRAP_ON_OBJECT_POSITION,
diff --git a/sw/source/core/doc/DocumentSettingManager.cxx b/sw/source/core/doc/DocumentSettingManager.cxx
index b7f3af73d2af..a29c5bc6275f 100644
--- a/sw/source/core/doc/DocumentSettingManager.cxx
+++ b/sw/source/core/doc/DocumentSettingManager.cxx
@@ -112,6 +112,7 @@ sw::DocumentSettingManager::DocumentSettingManager(SwDoc &rDoc)
         mbAddExternalLeading                = !aOptions.GetDefault( SvtCompatibilityEntry::Index::NoExtLeading );
         mbOldLineSpacing                    = aOptions.GetDefault( SvtCompatibilityEntry::Index::UseLineSpacing );
         mbAddParaSpacingToTableCells        = aOptions.GetDefault( SvtCompatibilityEntry::Index::AddTableSpacing );
+        mbAddParaLineSpacingToTableCells    = aOptions.GetDefault( SvtCompatibilityEntry::Index::AddTableSpacing ); // FIXME? separate UI?
         mbUseFormerObjectPos                = aOptions.GetDefault( SvtCompatibilityEntry::Index::UseObjectPositioning );
         mbUseFormerTextWrapping             = aOptions.GetDefault( SvtCompatibilityEntry::Index::UseOurTextWrapping );
         mbConsiderWrapOnObjPos              = aOptions.GetDefault( SvtCompatibilityEntry::Index::ConsiderWrappingStyle );
@@ -131,6 +132,7 @@ sw::DocumentSettingManager::DocumentSettingManager(SwDoc &rDoc)
         mbAddExternalLeading                = true;
         mbOldLineSpacing                    = false;
         mbAddParaSpacingToTableCells        = false;
+        mbAddParaLineSpacingToTableCells    = false;
         mbUseFormerObjectPos                = false;
         mbUseFormerTextWrapping             = false;
         mbConsiderWrapOnObjPos              = false;
@@ -167,6 +169,7 @@ bool sw::DocumentSettingManager::get(/*[in]*/ DocumentSettingId id) const
         case DocumentSettingId::OLD_NUMBERING: return mbOldNumbering;
         case DocumentSettingId::OLD_LINE_SPACING: return mbOldLineSpacing;
         case DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS: return mbAddParaSpacingToTableCells;
+        case DocumentSettingId::ADD_PARA_LINE_SPACING_TO_TABLE_CELLS: return mbAddParaLineSpacingToTableCells;
         case DocumentSettingId::USE_FORMER_OBJECT_POS: return mbUseFormerObjectPos;
         case DocumentSettingId::USE_FORMER_TEXT_WRAPPING: return mbUseFormerTextWrapping;
         case DocumentSettingId::CONSIDER_WRAP_ON_OBJECT_POSITION: return mbConsiderWrapOnObjPos;
@@ -283,6 +286,9 @@ void sw::DocumentSettingManager::set(/*[in]*/ DocumentSettingId id, /*[in]*/ boo
         case DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS:
             mbAddParaSpacingToTableCells = value;
             break;
+        case DocumentSettingId::ADD_PARA_LINE_SPACING_TO_TABLE_CELLS:
+            mbAddParaLineSpacingToTableCells = value;
+            break;
         case DocumentSettingId::USE_FORMER_OBJECT_POS:
             mbUseFormerObjectPos = value;
             break;
@@ -588,6 +594,7 @@ void sw::DocumentSettingManager::ReplaceCompatibilityOptions(const DocumentSetti
     mbAddExternalLeading = rSource.mbAddExternalLeading;
     mbOldLineSpacing = rSource.mbOldLineSpacing;
     mbAddParaSpacingToTableCells = rSource.mbAddParaSpacingToTableCells;
+    mbAddParaLineSpacingToTableCells = rSource.mbAddParaLineSpacingToTableCells;
     mbUseFormerObjectPos = rSource.mbUseFormerObjectPos;
     mbUseFormerTextWrapping = rSource.mbUseFormerTextWrapping;
     mbConsiderWrapOnObjPos = rSource.mbConsiderWrapOnObjPos;
diff --git a/sw/source/core/inc/DocumentSettingManager.hxx b/sw/source/core/inc/DocumentSettingManager.hxx
index e548c55a26b2..5a19e930f664 100644
--- a/sw/source/core/inc/DocumentSettingManager.hxx
+++ b/sw/source/core/inc/DocumentSettingManager.hxx
@@ -157,6 +157,7 @@ class DocumentSettingManager :
     bool mbPropLineSpacingShrinksFirstLine; // fdo#79602
     bool mbSubtractFlys; // tdf#86578
     bool mApplyParagraphMarkFormatToNumbering;
+    bool mbAddParaLineSpacingToTableCells; // tdf#125300 tdf#134782
 
     bool mbLastBrowseMode                           : 1;
     bool mbDisableOffPagePositioning; // tdf#112443
diff --git a/sw/source/core/layout/calcmove.cxx b/sw/source/core/layout/calcmove.cxx
index caa81ecbd182..b9687accdf90 100644
--- a/sw/source/core/layout/calcmove.cxx
+++ b/sw/source/core/layout/calcmove.cxx
@@ -134,7 +134,11 @@ bool SwContentFrame::ShouldBwdMoved( SwLayoutFrame *pNewUpper, bool & )
                         {
                             SwBorderAttrAccess aAccess( SwFrame::GetCache(), pLastFrame );
                             const SwBorderAttrs& rAttrs = *aAccess.Get();
-                            nNewTop -= rAttrs.GetULSpace().GetLower() + rAttrs.CalcLineSpacing();
+                            nNewTop -= rAttrs.GetULSpace().GetLower();
+                            if (rIDSA.get(DocumentSettingId::ADD_PARA_LINE_SPACING_TO_TABLE_CELLS))
+                            {
+                                nNewTop -= rAttrs.CalcLineSpacing();
+                            }
                         }
                     }
                 }
@@ -2147,10 +2151,16 @@ bool SwContentFrame::WouldFit_( SwTwips nSpace,
         }
 
         // Also consider lower spacing in table cells
+        IDocumentSettingAccess const& rIDSA(pNewUpper->GetFormat()->getIDocumentSettingAccess());
         if ( bRet && IsInTab() &&
-             pNewUpper->GetFormat()->getIDocumentSettingAccess().get(DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS) )
+            rIDSA.get(DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS))
         {
-            nSpace -= rAttrs.GetULSpace().GetLower() + rAttrs.CalcLineSpacing();
+            nSpace -= rAttrs.GetULSpace().GetLower();
+
+            if (rIDSA.get(DocumentSettingId::ADD_PARA_LINE_SPACING_TO_TABLE_CELLS))
+            {
+                nSpace -= rAttrs.CalcLineSpacing();
+            }
             if ( nSpace < 0 )
             {
                 bRet = false;
diff --git a/sw/source/core/layout/flowfrm.cxx b/sw/source/core/layout/flowfrm.cxx
index 6d83406583a7..d416b637c02f 100644
--- a/sw/source/core/layout/flowfrm.cxx
+++ b/sw/source/core/layout/flowfrm.cxx
@@ -1716,7 +1716,8 @@ SwTwips SwFlowFrame::CalcAddLowerSpaceAsLastInTableCell(
 {
     SwTwips nAdditionalLowerSpace = 0;
 
-    if ( m_rThis.GetUpper()->GetFormat()->getIDocumentSettingAccess().get(DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS) )
+    IDocumentSettingAccess const& rIDSA(m_rThis.GetUpper()->GetFormat()->getIDocumentSettingAccess());
+    if (rIDSA.get(DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS))
     {
         const SwFrame* pFrame = &m_rThis;
         if ( pFrame->IsSctFrame() )
@@ -1741,7 +1742,14 @@ SwTwips SwFlowFrame::CalcAddLowerSpaceAsLastInTableCell(
         }
 
         if (_pAttrs)
-            nAdditionalLowerSpace += _pAttrs->GetULSpace().GetLower() + _pAttrs->CalcLineSpacing();
+        {
+            nAdditionalLowerSpace += _pAttrs->GetULSpace().GetLower();
+
+            if (rIDSA.get(DocumentSettingId::ADD_PARA_LINE_SPACING_TO_TABLE_CELLS))
+            {
+                nAdditionalLowerSpace += _pAttrs->CalcLineSpacing();
+            }
+        }
     }
 
     return nAdditionalLowerSpace;
diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx
index f839d0b946b4..a861dd60013b 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -2525,7 +2525,7 @@ void SwBorderAttrs::GetBottomLine_( const SwFrame& _rFrame )
 
 void SwBorderAttrs::CalcLineSpacing_()
 {
-    // tdf#125300 compatibility option AddParaSpacingToTableCells needs also line spacing
+    // tdf#125300 compatibility option AddParaLineSpacingToTableCells needs also line spacing
     const SvxLineSpacingItem &rSpace = m_rAttrSet.GetLineSpacing();
     if ( rSpace.GetInterLineSpaceRule() == SvxInterLineSpaceRule::Prop && rSpace.GetPropLineSpace() > 100 )
     {
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index 166df718c720..44812a67ad1f 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -1891,6 +1891,7 @@ void SwWW8ImplReader::ImportDop()
     // #i25901# - set new compatibility option
     //      'Add paragraph and table spacing at bottom of table cells'
     m_rDoc.getIDocumentSettingAccess().set(DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS, true);
+    m_rDoc.getIDocumentSettingAccess().set(DocumentSettingId::ADD_PARA_LINE_SPACING_TO_TABLE_CELLS, true);
 
     // #i11860# - set new compatibility option
     //      'Use former object positioning' to <false>
diff --git a/sw/source/filter/xml/xmlimp.cxx b/sw/source/filter/xml/xmlimp.cxx
index 5ca2c262496e..75766a7f8a64 100644
--- a/sw/source/filter/xml/xmlimp.cxx
+++ b/sw/source/filter/xml/xmlimp.cxx
@@ -1362,6 +1362,7 @@ void SwXMLImport::SetConfigurationSettings(const Sequence < PropertyValue > & aC
     bool bUseOldNumbering = false;
     bool bAddExternalLeading = false;
     bool bAddParaSpacingToTableCells = false;
+    bool bAddParaLineSpacingToTableCells = false;
     bool bUseFormerLineSpacing = false;
     bool bUseFormerObjectPositioning = false;
     bool bUseFormerTextWrapping = false;
@@ -1434,6 +1435,8 @@ void SwXMLImport::SetConfigurationSettings(const Sequence < PropertyValue > & aC
                     bAddExternalLeading = true;
                 else if ( rValue.Name == "AddParaSpacingToTableCells" )
                     bAddParaSpacingToTableCells = true;
+                else if ( rValue.Name == "AddParaLineSpacingToTableCells" )
+                    bAddParaLineSpacingToTableCells = true;
                 else if ( rValue.Name == "UseFormerLineSpacing" )
                     bUseFormerLineSpacing = true;
                 else if ( rValue.Name == "UseFormerObjectPositioning" )
@@ -1536,6 +1539,10 @@ void SwXMLImport::SetConfigurationSettings(const Sequence < PropertyValue > & aC
         xProps->setPropertyValue( "AddParaSpacingToTableCells",
             makeAny( false ) );
     }
+    if (!bAddParaLineSpacingToTableCells)
+    {
+        xProps->setPropertyValue("AddParaLineSpacingToTableCells", makeAny(false));
+    }
 
     if( !bUseFormerTextWrapping )
     {
diff --git a/sw/source/uibase/uno/SwXDocumentSettings.cxx b/sw/source/uibase/uno/SwXDocumentSettings.cxx
index 51124bfe4071..1c437e021f93 100644
--- a/sw/source/uibase/uno/SwXDocumentSettings.cxx
+++ b/sw/source/uibase/uno/SwXDocumentSettings.cxx
@@ -98,6 +98,7 @@ enum SwDocumentSettingsPropertyHandles
     HANDLE_ALLOW_PRINTJOB_CANCEL,
     HANDLE_USE_FORMER_LINE_SPACING,
     HANDLE_ADD_PARA_SPACING_TO_TABLE_CELLS,
+    HANDLE_ADD_PARA_LINE_SPACING_TO_TABLE_CELLS,
     HANDLE_USE_FORMER_OBJECT_POSITIONING,
     HANDLE_USE_FORMER_TEXT_WRAPPING,
     HANDLE_CHANGES_PASSWORD,
@@ -185,6 +186,7 @@ static MasterPropertySetInfo * lcl_createSettingsInfo()
         { OUString("AllowPrintJobCancel"),        HANDLE_ALLOW_PRINTJOB_CANCEL,           cppu::UnoType<bool>::get(),           0},
         { OUString("UseFormerLineSpacing"),       HANDLE_USE_FORMER_LINE_SPACING,         cppu::UnoType<bool>::get(),           0},
         { OUString("AddParaSpacingToTableCells"), HANDLE_ADD_PARA_SPACING_TO_TABLE_CELLS, cppu::UnoType<bool>::get(),           0},
+        { OUString("AddParaLineSpacingToTableCells"), HANDLE_ADD_PARA_LINE_SPACING_TO_TABLE_CELLS, cppu::UnoType<bool>::get(),           0},
         { OUString("UseFormerObjectPositioning"), HANDLE_USE_FORMER_OBJECT_POSITIONING,   cppu::UnoType<bool>::get(),           0},
         { OUString("UseFormerTextWrapping"),      HANDLE_USE_FORMER_TEXT_WRAPPING,        cppu::UnoType<bool>::get(),           0},
         { OUString("RedlineProtectionKey"),       HANDLE_CHANGES_PASSWORD,                cppu::UnoType< cppu::UnoSequenceType<sal_Int8> >::get(),           0},
@@ -630,6 +632,12 @@ void SwXDocumentSettings::_setSingleValue( const comphelper::PropertyInfo & rInf
             mpDoc->getIDocumentSettingAccess().set(DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS, bTmp);
         }
         break;
+        case HANDLE_ADD_PARA_LINE_SPACING_TO_TABLE_CELLS:
+        {
+            bool bTmp = *o3tl::doAccess<bool>(rValue);
+            mpDoc->getIDocumentSettingAccess().set(DocumentSettingId::ADD_PARA_LINE_SPACING_TO_TABLE_CELLS, bTmp);
+        }
+        break;
         case HANDLE_USE_FORMER_OBJECT_POSITIONING:
         {
             bool bTmp = *o3tl::doAccess<bool>(rValue);
@@ -1188,6 +1196,11 @@ void SwXDocumentSettings::_getSingleValue( const comphelper::PropertyInfo & rInf
             rValue <<= mpDoc->getIDocumentSettingAccess().get(DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS);
         }
         break;
+        case HANDLE_ADD_PARA_LINE_SPACING_TO_TABLE_CELLS:
+        {
+            rValue <<= mpDoc->getIDocumentSettingAccess().get(DocumentSettingId::ADD_PARA_LINE_SPACING_TO_TABLE_CELLS);
+        }
+        break;
         case HANDLE_USE_FORMER_OBJECT_POSITIONING:
         {
             rValue <<= mpDoc->getIDocumentSettingAccess().get(DocumentSettingId::USE_FORMER_OBJECT_POS);
diff --git a/writerfilter/source/filter/WriterFilter.cxx b/writerfilter/source/filter/WriterFilter.cxx
index 3b2405867aad..9f6c6d2881ac 100644
--- a/writerfilter/source/filter/WriterFilter.cxx
+++ b/writerfilter/source/filter/WriterFilter.cxx
@@ -293,6 +293,7 @@ void WriterFilter::setTargetDocument(const uno::Reference< lang::XComponent >& x
     xSettings->setPropertyValue("DoNotResetParaAttrsForNumFont", uno::makeAny(false));
     xSettings->setPropertyValue("UseFormerLineSpacing", uno::makeAny(false));
     xSettings->setPropertyValue("AddParaSpacingToTableCells", uno::makeAny(true));
+    xSettings->setPropertyValue("AddParaLineSpacingToTableCells", uno::makeAny(true));
     xSettings->setPropertyValue("UseFormerObjectPositioning", uno::makeAny(false));
     xSettings->setPropertyValue("ConsiderTextWrapOnObjPos", uno::makeAny(true));
     xSettings->setPropertyValue("UseFormerTextWrapping", uno::makeAny(false));
commit 94d2bd907cb9472f78efaf2a355b8329447df97a
Author:     Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Wed Sep 23 18:20:00 2020 +0200
Commit:     Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Wed Sep 23 18:20:00 2020 +0200

    bump product version to 6.4.8.0.0+
    
    Change-Id: Idc8c72fe55f1c0c1211dc8c125d33ab9b6a74f86

diff --git a/configure.ac b/configure.ac
index 5e309fd30ac7..808515abe86b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ dnl in order to create a configure script.
 # several non-alphanumeric characters, those are split off and used only for the
 # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea.
 
-AC_INIT([LibreOffice],[6.4.7.0.0+],[],[],[http://documentfoundation.org/])
+AC_INIT([LibreOffice],[6.4.8.0.0+],[],[],[http://documentfoundation.org/])
 
 dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just fine if it is installed
 dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails hard
commit 43edf3e45eb5682cfb8f002878dd2051ee3fe701
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Sep 21 17:02:31 2020 +0100
Commit:     Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Wed Sep 23 18:13:24 2020 +0200

    add an explicit --disable-qrcodegen configure option
    
    Change-Id: If8e965fa955aecdb9e7011bdddc690de9cad0c4d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103120
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103158
    Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 8748d8f2f714..9597ccc47d5f 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -4162,6 +4162,8 @@ gb_ExternalProject__use_qrcodegen :=
 
 else # !SYSTEM_QRCODEGEN
 
+ifneq ($(ENABLE_QRCODEGEN),)
+
 define gb_LinkTarget__use_qrcodegen
 $(call gb_LinkTarget_use_unpacked,$(1),qrcodegen)
 $(call gb_LinkTarget_set_include,$(1),\
@@ -4179,6 +4181,13 @@ $(call gb_ExternalProject_use_static_libraries,$(1),qrcodegen)
 
 endef
 
+else # !ENABLE_QRCODEGEN
+
+define gb_LinkTarget__use_qrcodegen
+endef
+
+endif # ENABLE_QRCODEGEN
+
 endif # SYSTEM_QRCODEGEN
 
 $(eval $(call gb_Helper_register_packages_for_install,ucrt_binarytable,\
diff --git a/config_host.mk.in b/config_host.mk.in
index e47ca617845d..1b5fa47f3b75 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -463,6 +463,7 @@ export PYTHON_LIBS=$(gb_SPACE)@PYTHON_LIBS@
 export PYTHON_VERSION=@PYTHON_VERSION@
 export PYTHON_VERSION_MAJOR=@PYTHON_VERSION_MAJOR@
 export PYTHON_VERSION_MINOR=@PYTHON_VERSION_MINOR@
+export ENABLE_QRCODEGEN=@ENABLE_QRCODEGEN@
 export QRCODEGEN_CFLAGS=$(gb_SPACE)@QRCODEGEN_CFLAGS@
 export QRCODEGEN_LIBS=$(gb_SPACE)@QRCODEGEN_LIBS@
 export QT5_CFLAGS=$(gb_SPACE)@QT5_CFLAGS@
diff --git a/config_host/config_qrcodegen.h.in b/config_host/config_qrcodegen.h.in
new file mode 100644
index 000000000000..63388651699f
--- /dev/null
+++ b/config_host/config_qrcodegen.h.in
@@ -0,0 +1,17 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_CONFIG_QRCODEGEN_H
+#define INCLUDED_CONFIG_QRCODEGEN_H
+
+#define ENABLE_QRCODEGEN 0
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/configure.ac b/configure.ac
index cdf0ecadf3d9..5e309fd30ac7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1924,6 +1924,10 @@ AC_ARG_WITH(system-hunspell,
         [Use libhunspell already on system.]),,
     [with_system_hunspell="$with_system_libs"])
 
+libo_FUZZ_ARG_ENABLE(qrcodegen,
+    AS_HELP_STRING([--disable-qrcodegen],
+        [Disable use of qrcodegen external library.]))
+
 AC_ARG_WITH(system-qrcodegen,
     AS_HELP_STRING([--with-system-qrcodegen],
         [Use libqrcodegen already on system.]),,
@@ -10075,26 +10079,39 @@ AC_SUBST(HUNSPELL_LIBS)
 dnl ===================================================================
 dnl Check for system qrcodegen
 dnl ===================================================================
-AC_MSG_CHECKING([which libqrcodegen to use])
-if test "$with_system_qrcodegen" = "yes"; then
-    AC_MSG_RESULT([external])
-    SYSTEM_QRCODEGEN=TRUE
-    AC_LANG_PUSH([C++])
-    AC_CHECK_HEADER(qrcodegen/QrCode.hpp, [],
-        [AC_MSG_ERROR(qrcodegen headers not found.)], [#include <stdexcept>])
-    AC_CHECK_LIB([qrcodegencpp], [main], [:],
-        [ AC_MSG_ERROR(qrcodegen C++ library not found.) ], [])
-    QRCODEGEN_LIBS=-lqrcodegencpp
-    AC_LANG_POP([C++])
-    QRCODEGEN_CFLAGS=$(printf '%s' "$QRCODEGEN_CFLAGS" | sed -e "s/-I/${ISYSTEM?}/g")
-    FilterLibs "${QRCODEGEN_LIBS}"
-    QRCODEGEN_LIBS="${filteredlibs}"
-else
-    AC_MSG_RESULT([internal])
+AC_MSG_CHECKING([whether to use libqrcodegen])
+if test "$enable_libqrcodegen" = "no"; then
+    AC_MSG_RESULT([no])
+    ENABLE_QRCODEGEN=
     SYSTEM_QRCODEGEN=
-    BUILD_TYPE="$BUILD_TYPE QRCODEGEN"
+else
+    AC_MSG_RESULT([yes])
+    ENABLE_QRCODEGEN=TRUE
+    AC_MSG_CHECKING([which libqrcodegen to use])
+    if test "$with_system_qrcodegen" = "yes"; then
+        AC_MSG_RESULT([external])
+        SYSTEM_QRCODEGEN=TRUE
+        AC_LANG_PUSH([C++])
+        AC_CHECK_HEADER(qrcodegen/QrCode.hpp, [],
+            [AC_MSG_ERROR(qrcodegen headers not found.)], [#include <stdexcept>])
+        AC_CHECK_LIB([qrcodegencpp], [main], [:],
+            [ AC_MSG_ERROR(qrcodegen C++ library not found.) ], [])
+        QRCODEGEN_LIBS=-lqrcodegencpp
+        AC_LANG_POP([C++])
+        QRCODEGEN_CFLAGS=$(printf '%s' "$QRCODEGEN_CFLAGS" | sed -e "s/-I/${ISYSTEM?}/g")
+        FilterLibs "${QRCODEGEN_LIBS}"
+        QRCODEGEN_LIBS="${filteredlibs}"
+    else
+        AC_MSG_RESULT([internal])
+        SYSTEM_QRCODEGEN=
+        BUILD_TYPE="$BUILD_TYPE QRCODEGEN"
+    fi
+    if test "$ENABLE_QRCODEGEN" = TRUE; then
+        AC_DEFINE(ENABLE_QRCODEGEN)
+    fi
 fi
 AC_SUBST(SYSTEM_QRCODEGEN)
+AC_SUBST(ENABLE_QRCODEGEN)
 AC_SUBST(QRCODEGEN_CFLAGS)
 AC_SUBST(QRCODEGEN_LIBS)
 
@@ -12954,6 +12971,7 @@ AC_CONFIG_HEADERS([config_host/config_mpl.h])
 AC_CONFIG_HEADERS([config_host/config_oox.h])
 AC_CONFIG_HEADERS([config_host/config_options.h])
 AC_CONFIG_HEADERS([config_host/config_options_calc.h])
+AC_CONFIG_HEADERS([config_host/config_qrcodegen.h])
 AC_CONFIG_HEADERS([config_host/config_typesizes.h])
 AC_CONFIG_HEADERS([config_host/config_vendor.h])
 AC_CONFIG_HEADERS([config_host/config_vcl.h])
diff --git a/cui/source/dialogs/QrCodeGenDialog.cxx b/cui/source/dialogs/QrCodeGenDialog.cxx
index d936219f7209..6277e767ae43 100644
--- a/cui/source/dialogs/QrCodeGenDialog.cxx
+++ b/cui/source/dialogs/QrCodeGenDialog.cxx
@@ -16,11 +16,15 @@
 #include <vcl/weld.hxx>
 #include <sal/log.hxx>
 
+#include <config_qrcodegen.h>
+
+#if ENABLE_QRCODEGEN
 #if defined(SYSTEM_QRCODEGEN)
 #include <qrcodegen/QrCode.hpp>
 #else
 #include <QrCode.hpp>
 #endif
+#endif
 
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/drawing/XDrawPageSupplier.hpp>
@@ -58,7 +62,9 @@ using namespace css::sheet;
 using namespace css::text;
 using namespace css::drawing;
 using namespace css::graphic;
+#if ENABLE_QRCODEGEN
 using namespace qrcodegen;
+#endif
 
 QrCodeGenDialog::QrCodeGenDialog(weld::Widget* pParent, Reference<XModel> xModel,
                                  bool bEditExisting)
@@ -105,14 +111,19 @@ QrCodeGenDialog::QrCodeGenDialog(weld::Widget* pParent, Reference<XModel> xModel
 
 short QrCodeGenDialog::run()
 {
+#if ENABLE_QRCODEGEN
     short nRet = GenericDialogController::run();
     if (nRet == RET_OK)
         Apply();
     return nRet;
+#else
+    return RET_CANCEL;
+#endif
 }
 
 void QrCodeGenDialog::Apply()
 {
+#if ENABLE_QRCODEGEN
     css::drawing::QRCode aQRCode;
     aQRCode.Payload = m_xEdittext->get_text();
 
@@ -232,13 +243,12 @@ void QrCodeGenDialog::Apply()
             throw uno::RuntimeException("Not implemented");
         }
     }
+#endif
 }
 
 OUString QrCodeGenDialog::GenerateQRCode(OUString aQRText, long aQRECC, int aQRBorder)
 {
-#if ENABLE_FUZZERS
-    return OUString();
-#else
+#if ENABLE_QRCODEGEN
     //Select ECC:: value from aQrECC
     qrcodegen::QrCode::Ecc bqrEcc = qrcodegen::QrCode::Ecc::LOW;
 
@@ -274,8 +284,12 @@ OUString QrCodeGenDialog::GenerateQRCode(OUString aQRText, long aQRECC, int aQRB
     qrcodegen::QrCode qr0 = qrcodegen::QrCode::encodeText(qrtext, bqrEcc);
     std::string svg = qr0.toSvgString(aQRBorder);
     //cstring to OUString
-    char* cstr = &svg[0];
-    return OUString::createFromAscii(cstr);
+    return OUString::createFromAscii(svg.c_str());
+#else
+    (void)aQRText;
+    (void)aQRECC;
+    (void)aQRBorder;
+    return OUString();
 #endif
 }
 
diff --git a/distro-configs/LibreOfficeOssFuzz.conf b/distro-configs/LibreOfficeOssFuzz.conf
index ab9ec3b3b01e..60fec4bc4c44 100644
--- a/distro-configs/LibreOfficeOssFuzz.conf
+++ b/distro-configs/LibreOfficeOssFuzz.conf
@@ -15,5 +15,6 @@
 --disable-dbus
 --disable-cups
 --disable-odk
+--disable-qrcodegen
 --without-java
 --enable-ld=gold
diff --git a/external/qrcodegen/Module_qrcodegen.mk b/external/qrcodegen/Module_qrcodegen.mk
index 34be04cc52d9..09c771d0d535 100644
--- a/external/qrcodegen/Module_qrcodegen.mk
+++ b/external/qrcodegen/Module_qrcodegen.mk
@@ -13,8 +13,12 @@ $(eval $(call gb_Module_add_targets,qrcodegen,\
 	UnpackedTarball_qrcodegen \
 ))
 
+ifeq ($(ENABLE_QRCODEGEN),TRUE)
+
 $(eval $(call gb_Module_add_targets,qrcodegen,\
 	StaticLibrary_qrcodegen \
 ))
 
+endif
+
 # vim: set noet sw=4 ts=4:
commit 1e41300a9552f90b3d75d5ffadd31ae42a28d249
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Sep 15 16:36:17 2020 +0100
Commit:     Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Wed Sep 23 18:12:14 2020 +0200

    ofz#25684 keep ParseCMAP within legal area
    
    Change-Id: Iee18b5a9390b79efa67414ea2d229d2816c84e18
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102776
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit a014c82522834c972e247a28d8e5f42998ae3c0e)
    
    ofz#25696 OOM
    
    Change-Id: Ia69e9ce1ca0156e960dddb7e0bf98dfd2be2d7cc
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102846
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit d57b14e3394b081adf0888ed8dcb7b86d66c246c)
    
    ofz#25774 keep ParseCMAP within legal area
    
    Change-Id: Ic68fadd3d63631cbccda76e7679d95bb89452d25
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103017
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit f8474367449a1b6b54918d2753e3a36798761839)
    
    Fix crash from broken font CMAP subtable
    
    ParseCMAP crashes on a broken CMAP subtable of a font used by the
    bugdoc of tdf#119074, which returns a negative offset (technically
    it's large positive offset turning into a wrong negative integer,
    which is still out of bounds of the CMAP overall size - you get
    the point). This simply ignores that broken subtable, checking for
    other existing ones.
    
    Regressed-by: c7482bc2904401e7d975b5721ec861b8589253f9
    Change-Id: I95820fe3bb6bd2fe2e0cf9d4c3536abce31fd497
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103033
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit 9bf4c5ac49b73cc2a8c89a87ff87238c061a579d)
    
    Missing include
    
    (for std::max, since f8474367449a1b6b54918d2753e3a36798761839 "ofz#25774 keep
    ParseCMAP within legal area")
    
    Change-Id: I873c788577e9ec3bd54d9e637d2cf86be7c1f6e6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103089
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
    (cherry picked from commit 8cc52b05744443c64cf5eb62ebe3098cd964c437)
    
    ofz#25855 overflow in nTmpOffset
    
    we already know nLength is >= 24 so just move the calc to the other term
    
    Change-Id: Ic52f1686ccf81e6b13d7eb7e74dbd9cb51c8ea01
    
    ofz#25868 Timeout, encoding conversion only sane in 0..SAL_MAX_UINT16 range
    
    so ignore points outside that range to avoid ludicrous ranges that aren't
    possible in the input encoding
    
    Change-Id: Ifb7b9b389d4a31b8820a7da661249223fe1e110c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103261
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>

diff --git a/vcl/source/font/fontcharmap.cxx b/vcl/source/font/fontcharmap.cxx
index 9c8b54682041..92760875b647 100644
--- a/vcl/source/font/fontcharmap.cxx
+++ b/vcl/source/font/fontcharmap.cxx
@@ -21,6 +21,7 @@
 #include <rtl/textenc.h>
 #include <sal/log.hxx>
 
+#include <algorithm>
 #include <vector>
 #include <set>
 
@@ -150,6 +151,10 @@ bool ParseCMAP( const unsigned char* pCmap, int nLength, CmapResult& rResult )
             continue;
 
         int nTmpOffset = GetUInt( p+4 );
+
+        if (nTmpOffset > nLength - 2 || nTmpOffset < 0)
+            continue;
+
         int nTmpFormat = GetUShort( pCmap + nTmpOffset );
         if( nTmpFormat == 12 )                  // 32bit code -> glyph map format
             nValue += 3;
@@ -179,12 +184,29 @@ bool ParseCMAP( const unsigned char* pCmap, int nLength, CmapResult& rResult )
     {
         int nSegCountX2 = GetUShort( pCmap + nOffset + 6 );
         nRangeCount = nSegCountX2/2 - 1;
-        pCodePairs = new sal_UCS4[ nRangeCount * 2 ];
-        pStartGlyphs = new int[ nRangeCount ];
+        if (nRangeCount < 0)
+        {
+            SAL_WARN("vcl.gdi", "negative RangeCount");
+            nRangeCount = 0;
+        }
+
         const unsigned char* pLimitBase = pCmap + nOffset + 14;
         const unsigned char* pBeginBase = pLimitBase + nSegCountX2 + 2;
         const unsigned char* pDeltaBase = pBeginBase + nSegCountX2;
         const unsigned char* pOffsetBase = pDeltaBase + nSegCountX2;
+
+        const int nOffsetBaseStart = pOffsetBase - pCmap;
+        const int nRemainingLen = nLength - nOffsetBaseStart;
+        const int nMaxPossibleRangeOffsets = nRemainingLen / 2;
+        if (nRangeCount > nMaxPossibleRangeOffsets)
+        {
+            SAL_WARN("vcl.gdi", "more range offsets requested then space available");
+            nRangeCount = std::max(0, nMaxPossibleRangeOffsets);
+        }
+
+        pCodePairs = new sal_UCS4[ nRangeCount * 2 ];
+        pStartGlyphs = new int[ nRangeCount ];
+
         sal_UCS4* pCP = pCodePairs;
         for( int i = 0; i < nRangeCount; ++i )
         {
@@ -244,7 +266,7 @@ bool ParseCMAP( const unsigned char* pCmap, int nLength, CmapResult& rResult )
         if (nRangeCount > nMaxPossiblePairs)
         {
             SAL_WARN("vcl.gdi", "more code pairs requested then space available");
-            nRangeCount = nMaxPossiblePairs;
+            nRangeCount = std::max(0, nMaxPossiblePairs);
         }
 
         pCodePairs = new sal_UCS4[ nRangeCount * 2 ];
@@ -318,7 +340,9 @@ bool ParseCMAP( const unsigned char* pCmap, int nLength, CmapResult& rResult )
         {
             sal_UCS4 cMin = *(pCP++);
             sal_UCS4 cEnd = *(pCP++);
-            while( cMin < cEnd )
+            // ofz#25868 the conversion only makes sense with
+            // input codepoints in 0..SAL_MAX_UINT16 range
+            while (cMin < cEnd && cMin <= SAL_MAX_UINT16)
             {
                 int j = 0;
                 for(; (cMin < cEnd) && (j < NINSIZE); ++cMin )
commit f074ad34d5fbc52f4f8df4eec31ba95ee92f879b
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Sep 23 12:44:14 2020 +0100
Commit:     Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Wed Sep 23 16:55:04 2020 +0200

    ofz#25881 use std::vector with bounds checking accessor
    
    Change-Id: Ic557e85bce5f3ebe7224b0aa2192a74969f4fce2
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103194
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>

diff --git a/lotuswordpro/source/filter/lwptablelayout.cxx b/lotuswordpro/source/filter/lwptablelayout.cxx
index 448599e5b2c5..b4805ae6d9af 100644
--- a/lotuswordpro/source/filter/lwptablelayout.cxx
+++ b/lotuswordpro/source/filter/lwptablelayout.cxx
@@ -855,7 +855,7 @@ sal_uInt16 LwpTableLayout::ConvertHeadingRow(
     ConvertTable(pTmpTable.get(),nStartHeadRow,nEndHeadRow,0,nCol);
 
     sal_uInt16 nRowNum = pTmpTable->GetRowCount();
-    std::unique_ptr<sal_uInt8[]> CellMark( new sal_uInt8[nRowNum] );
+    std::vector<sal_uInt8> CellMark(nRowNum);
 
     if (nRowNum == 1)
     {
@@ -867,11 +867,11 @@ sal_uInt16 LwpTableLayout::ConvertHeadingRow(
     else
     {
         sal_uInt8 nFirstColSpann = 1;
-        const bool bFindFlag = FindSplitColMark(pTmpTable.get(),CellMark.get(),nFirstColSpann);
+        const bool bFindFlag = FindSplitColMark(pTmpTable.get(), CellMark, nFirstColSpann);
 
         if (bFindFlag)//split to 2 cells
         {
-            SplitRowToCells(pTmpTable.get(),pXFTable,nFirstColSpann,CellMark.get());
+            SplitRowToCells(pTmpTable.get(), pXFTable, nFirstColSpann, CellMark.data());
             nContentRow = nEndHeadRow;
         }
         else//can not split,the first row will be the heading row,the rest will be content row
@@ -987,7 +987,7 @@ void LwpTableLayout::SplitRowToCells(XFTable* pTmpTable, rtl::Reference<XFTable>
  * @param  pXFTable - pointer of tmp XFtable
  * @param  CellMark - pointer of cell mark array
  */
-bool  LwpTableLayout::FindSplitColMark(XFTable* pXFTable, sal_uInt8* pCellMark,
+bool  LwpTableLayout::FindSplitColMark(XFTable* pXFTable, std::vector<sal_uInt8>& rCellMark,
             sal_uInt8& nMaxColSpan)
 {
     sal_uInt16 nRowNum = pXFTable->GetRowCount();
@@ -1017,7 +1017,7 @@ bool  LwpTableLayout::FindSplitColMark(XFTable* pXFTable, sal_uInt8* pCellMark,
             }
             if (nColSpan > nMaxColSpan)
                 nMaxColSpan = nColSpan;
-            pCellMark[nRowLoop] = 0;//reset all cell mark to zero
+            rCellMark.at(nRowLoop) = 0;//reset all cell mark to zero
         }
 
         //find if other row has the same column
@@ -1040,11 +1040,11 @@ bool  LwpTableLayout::FindSplitColMark(XFTable* pXFTable, sal_uInt8* pCellMark,
             if (nCellMark == 0)
                 break;
             else
-                pCellMark[nRowLoop] = nCellMark;
+                rCellMark.at(nRowLoop) = nCellMark;
         }
         for(nRowLoop=1;nRowLoop<=nRowNum;nRowLoop++)//check if all ==0,break
         {
-            if (pCellMark[nRowLoop] == 0)
+            if (rCellMark.at(nRowLoop) == 0)
                 break;
         }
         if (nRowLoop == nRowNum+1)
diff --git a/lotuswordpro/source/filter/lwptablelayout.hxx b/lotuswordpro/source/filter/lwptablelayout.hxx
index 5e232dba73b4..97e2ac10acbe 100644
--- a/lotuswordpro/source/filter/lwptablelayout.hxx
+++ b/lotuswordpro/source/filter/lwptablelayout.hxx
@@ -141,7 +141,7 @@ private:
                 sal_uInt8 nEndCol, sal_uInt16 nRowID);
     void ConvertColumn(rtl::Reference<XFTable> const & pXFTable, sal_uInt8 nStartCol, sal_uInt8 nEndCol);
     sal_uInt16 ConvertHeadingRow(rtl::Reference<XFTable> const & pXFTable,sal_uInt16 nStartHeadRow,sal_uInt16 nEndHeadRow);
-    static bool FindSplitColMark(XFTable* pXFTable,sal_uInt8* pCellMark,sal_uInt8& nMaxColSpan);
+    static bool FindSplitColMark(XFTable* pXFTable, std::vector<sal_uInt8>& rCellMark, sal_uInt8& nMaxColSpan);
     void SplitRowToCells(XFTable* pTmpTable, rtl::Reference<XFTable> const & pXFTable,
                 sal_uInt8 nFirstColSpann, const sal_uInt8* pCellMark);
 
commit 63fba1ef338f14e2451baf039e0ae30d992b6743
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Fri Aug 21 00:15:29 2020 +0300
Commit:     Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Wed Sep 23 13:35:43 2020 +0200

    tdf#135942: avoid collecting autostyles during writing them
    
    This modifies the container over which iteration is performed.
    Additionally, make sure that all nested table autostyles are
    collected on the first phase.
    
    Change-Id: I74c0bb1aaacad095226c21e6bf51cc8668133bb3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101096
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    (cherry picked from commit f0286ad82465152b29bba01ab2edeb97291397fa)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101069
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit 0273675e7dde577077ccca17571846a0942f2630)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102311
    Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>

diff --git a/include/xmloff/txtparae.hxx b/include/xmloff/txtparae.hxx
index 7ded21114fd6..c01c03eea4d3 100644
--- a/include/xmloff/txtparae.hxx
+++ b/include/xmloff/txtparae.hxx
@@ -365,6 +365,8 @@ protected:
         const css::uno::Reference< css::beans::XPropertySet> & i_xPortion,
         bool i_bAutoStyles, bool i_isProgress, bool & rPrevCharIsSpace);
 
+    bool isAutoStylesCollected() const { return mbCollected; }
+
     virtual void exportTableAutoStyles();
 
 public:
diff --git a/sw/qa/extras/odfexport/data/nestedTableInFooter.odt b/sw/qa/extras/odfexport/data/nestedTableInFooter.odt
new file mode 100644
index 000000000000..0356f04ee14e
Binary files /dev/null and b/sw/qa/extras/odfexport/data/nestedTableInFooter.odt differ
diff --git a/sw/qa/extras/odfexport/odfexport.cxx b/sw/qa/extras/odfexport/odfexport.cxx
index bfc17ca284f3..321ce301fb9c 100644
--- a/sw/qa/extras/odfexport/odfexport.cxx
+++ b/sw/qa/extras/odfexport/odfexport.cxx
@@ -2355,5 +2355,17 @@ DECLARE_ODFEXPORT_TEST(tdf124470, "tdf124470TableAndEmbeddedUsedFonts.odt")
     }
 }
 
+DECLARE_ODFEXPORT_TEST(tdf135942, "nestedTableInFooter.odt")
+{
+    // All table autostyles should be collected, including nested, and must not crash.
+
+    CPPUNIT_ASSERT_EQUAL(1, getPages());
+
+    if (xmlDocPtr pXmlDoc = parseExport("styles.xml"))
+    {
+        assertXPath(pXmlDoc, "/office:document-styles/office:automatic-styles/style:style[@style:family='table']", 2);
+    }
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/filter/xml/xmltble.cxx b/sw/source/filter/xml/xmltble.cxx
index 80d786d8d884..6a4fa1c9902b 100644
--- a/sw/source/filter/xml/xmltble.cxx
+++ b/sw/source/filter/xml/xmltble.cxx
@@ -1183,8 +1183,27 @@ void SwXMLTextParagraphExport::exportTable(
                 // During the flat XML export (used e.g. by .sdw-export)
                 // ALL flags are set at the same time.
                 const bool bExportStyles = bool( GetExport().getExportFlags() & SvXMLExportFlags::STYLES );
-                if ( bExportStyles || !pFormat->GetDoc()->IsInHeaderFooter( aIdx ) )
+                if (!isAutoStylesCollected()
+                    && (bExportStyles || !pFormat->GetDoc()->IsInHeaderFooter(aIdx)))
+                {
                     maTableNodes.push_back(pTableNd);
+                    // Collect all tables inside cells of this table, too
+                    const auto aCellNames = pXTable->getCellNames();
+                    for (const OUString& rCellName : aCellNames)
+                    {
+                        css::uno::Reference<css::container::XEnumerationAccess> xCell(
+                            pXTable->getCellByName(rCellName), css::uno::UNO_QUERY);
+                        if (!xCell)
+                            continue;
+                        auto xEnumeration = xCell->createEnumeration();
+                        while (xEnumeration->hasMoreElements())
+                        {
+                            if (css::uno::Reference<css::text::XTextTable> xInnerTable{
+                                    xEnumeration->nextElement(), css::uno::UNO_QUERY })
+                                exportTable(xInnerTable, bAutoStyles, _bProgress);
+                        }
+                    }
+                }
             }
             else
             {
diff --git a/xmloff/source/text/txtparae.cxx b/xmloff/source/text/txtparae.cxx
index b830da30579b..24b5a8f2cbae 100644
--- a/xmloff/source/text/txtparae.cxx
+++ b/xmloff/source/text/txtparae.cxx
@@ -3675,6 +3675,8 @@ void XMLTextParagraphExport::exportTableAutoStyles() {}
 
 void XMLTextParagraphExport::exportTextAutoStyles()
 {
+    // tdf#135942: do not collect styles during their export: this may modify iterated containers
+    mbCollected = true;
     exportTableAutoStyles();
 
     GetAutoStylePool().exportXML( XML_STYLE_FAMILY_TEXT_PARAGRAPH );
commit def6e51cd56814aad3cbb8c1035da71c47927854
Author:     Oleg Schelykalnov <olegshtch at yandex.ru>
AuthorDate: Fri Jun 19 09:37:56 2020 +0300
Commit:     Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Wed Sep 23 13:35:02 2020 +0200

    tdf#134112 sw: Test access of text field master object
    
    Change-Id: I793528faa6d73f7a97ddd4409ae8a1a3e611cea1
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96678
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>

diff --git a/sw/qa/python/xtextfieldssupplier.py b/sw/qa/python/xtextfieldssupplier.py
index ab1e96f89246..f99b0fc85ab7 100755
--- a/sw/qa/python/xtextfieldssupplier.py
+++ b/sw/qa/python/xtextfieldssupplier.py
@@ -69,8 +69,11 @@ class TestXTextFieldsSupplier(unittest.TestCase):
         for masterName in masterNames:
             self.assertTrue(xFieldMasters.hasByName(masterName),
                             "TextFieldMaster has no element " + masterName)
-            self.assertIsNotNone(xFieldMasters.getByName(masterName),
+            master = xFieldMasters.getByName(masterName)
+            self.assertIsNotNone(master,
                                  "can't get " + masterName + " from TextFieldMaster")
+            self.assertIsNotNone(master.getPropertyValue("Name"),
+                                 "can't get Name property from TextFieldMaster " + masterName)
 
         # Ensure that invalid elements are not accessible
         invalidMasterName = "com.sun.star.text.fieldmaster.SetExpression.NoSuchMaster"
commit bd1345f9806b1bb9940d208d75610f7c4556f05d
Author:     Tomofumi Yagi <yagitmknada at gmail.com>
AuthorDate: Fri Sep 18 16:21:43 2020 +0900
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Tue Sep 22 08:40:34 2020 +0200

    tdf#134157 fix Edit with external tool causes a CPU hit
    
    Switch Idle to 100ms Timer for fixing the bug
    
    Change-Id: I85a9bdcb173edd28d952d8e91c1b93d748e69206
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102984
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
    (cherry picked from commit f110c037114f90d219ac8d149542bf96fe66a2f1)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103055
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Signed-off-by: Xisco Fauli <xiscofauli at libreoffice.org>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103130

diff --git a/include/svtools/filechangedchecker.hxx b/include/svtools/filechangedchecker.hxx
index ec8d8a41fdac..a1c2fcb38eaa 100644
--- a/include/svtools/filechangedchecker.hxx
+++ b/include/svtools/filechangedchecker.hxx
@@ -28,7 +28,7 @@ class Timer;
 class SVT_DLLPUBLIC FileChangedChecker
 {
 private:
-    Idle                    mIdle;
+    Timer                    mTimer;
     OUString const           mFileName;
     TimeValue                mLastModTime;
     ::std::function<void ()> const mpCallback;
diff --git a/svtools/source/misc/filechangedchecker.cxx b/svtools/source/misc/filechangedchecker.cxx
index 09e24c3fafb1..8536eb0bda57 100644
--- a/svtools/source/misc/filechangedchecker.cxx
+++ b/svtools/source/misc/filechangedchecker.cxx
@@ -16,7 +16,7 @@
 
 FileChangedChecker::FileChangedChecker(const OUString& rFilename,
         const ::std::function<void ()>& rCallback)
-    : mIdle("SVTools FileChangedChecker Idle")
+    : mTimer("SVTools FileChangedChecker Timer")
     , mFileName(rFilename)
     , mLastModTime()
     , mpCallback(rCallback)
@@ -24,21 +24,24 @@ FileChangedChecker::FileChangedChecker(const OUString& rFilename,
     // Get the curren last file modified Status
     getCurrentModTime(mLastModTime);
 
-    // associate the callback function for the Idle
-    mIdle.SetInvokeHandler(LINK(this, FileChangedChecker, TimerHandler));
+    // associate the callback function for the Timer
+    mTimer.SetInvokeHandler(LINK(this, FileChangedChecker, TimerHandler));
 
-    //start the timer
+    // set timer interval
+    mTimer.SetTimeout(100);
+
+    // start the timer
     resetTimer();
 }
 
 void FileChangedChecker::resetTimer()
 {
-    //Start the Idle if it's not active
-    if(!mIdle.IsActive())
-        mIdle.Start();
+    // Start the Idle if it's not active
+    if(!mTimer.IsActive())
+        mTimer.Start();
 
     // Set lowest Priority
-    mIdle.SetPriority(TaskPriority::LOWEST);
+    mTimer.SetPriority(TaskPriority::LOWEST);
 }
 
 bool FileChangedChecker::getCurrentModTime(TimeValue& o_rValue) const
@@ -90,7 +93,7 @@ IMPL_LINK_NOARG(FileChangedChecker, TimerHandler, Timer *, void)
         mpCallback();
     }
 
-    // Reset the Idle in any case
+    // Reset the Timer in any case
     resetTimer();
 }
 
commit 55505edc8eca0e4ba30f192e81ff18982b8e2f95
Author:     Miklos Vajna <vmiklos at collabora.com>
AuthorDate: Fri Sep 18 17:53:33 2020 +0200
Commit:     Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Mon Sep 21 23:49:52 2020 +0200

    tdf#129685 PPTX import: fix unexpected centering of shape text
    
    Regression from commit 89f0af144c18efafe2573801641689a1432c0cae (tdf#113198 set
    default shape paragraph alignment.., 2019-11-19), the old bugdoc had this
    markup:
    
    <a:bodyPr ... anchor="ctr"/> (centered)
    
    The new bugdoc has 2 shapes with text:
    
    <a:bodyPr .../> (aligned to left)
    <a:bodyPr ... anchorCtr="1"/> (should be centered)
    
    "anchor" is about vertical, "anchorCtr" is about horizontal centering of text.
    
    Checking what the binary filter does, it maps horizontal centering to
    TextHorizontalAdjust, so fix the original bug differently, by leaving
    ParaAdjust alone, and tweaking TextHorizontalAdjust intead: this keeps the old
    bugdoc working but fixes the new one.
    
    This caused a number of "change detector" XML-based tests to fail: all of them
    are unchanged visually, so the XML files are adapted to the new state.
    
    The tdf#113198 fix itself was fixing a regression from tdf#104722, and that
    commit had no testcase, I tested that we don't regress there, manually.
    
    (cherry picked from commit 10bb02efd8afd42e633e370480104e2575546d8e)
    
    Change-Id: I81a7b3e8c76bfbce5c5569d16d5238958ac20f75
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103088
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Signed-off-by: Xisco Fauli <xiscofauli at libreoffice.org>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103110

diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index cce8b9ba7bbc..31ea0c696281 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -214,7 +214,8 @@ void Shape::setDefaults(bool bHeight)
     if (bHeight)
         maDefaultShapeProperties.setProperty(PROP_CharHeight, static_cast< float >( 18.0 ));
     maDefaultShapeProperties.setProperty(PROP_TextVerticalAdjust, TextVerticalAdjust_TOP);
-    maDefaultShapeProperties.setProperty(PROP_ParaAdjust, static_cast< sal_Int16 >( ParagraphAdjust_CENTER ));
+    maDefaultShapeProperties.setProperty(PROP_ParaAdjust,
+                                         static_cast<sal_Int16>(ParagraphAdjust_LEFT));
 }
 
 ::oox::vml::OleObjectInfo& Shape::setOleObjectType()
diff --git a/oox/source/drawingml/textbodypropertiescontext.cxx b/oox/source/drawingml/textbodypropertiescontext.cxx
index d696b4c3ac70..af02c6f981d8 100644
--- a/oox/source/drawingml/textbodypropertiescontext.cxx
+++ b/oox/source/drawingml/textbodypropertiescontext.cxx
@@ -123,6 +123,11 @@ TextBodyPropertiesContext::TextBodyPropertiesContext( ContextHandler2Helper cons
     {
         mrTextBodyProp.meVA = GetTextVerticalAdjust( rAttribs.getToken( XML_anchor, XML_t ) );
         mrTextBodyProp.maPropertyMap.setProperty( PROP_TextVerticalAdjust, mrTextBodyProp.meVA);
+        if (mrTextBodyProp.meVA == drawing::TextVerticalAdjust_CENTER)
+        {
+            mrTextBodyProp.maPropertyMap.setProperty(PROP_TextHorizontalAdjust,
+                                                     TextHorizontalAdjust_CENTER);
+        }
     }
 
     // Push defaults
diff --git a/sd/qa/unit/data/pptx/shape-text-alignment.pptx b/sd/qa/unit/data/pptx/shape-text-alignment.pptx
new file mode 100644
index 000000000000..ff4ff06f2fdf
Binary files /dev/null and b/sd/qa/unit/data/pptx/shape-text-alignment.pptx differ
diff --git a/sd/qa/unit/data/xml/n762695_0.xml b/sd/qa/unit/data/xml/n762695_0.xml
index 710a5039ab69..fe02e3f00d0d 100644
--- a/sd/qa/unit/data/xml/n762695_0.xml
+++ b/sd/qa/unit/data/xml/n762695_0.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <XShapes>
- <XShape positionX="5769" positionY="5160" sizeX="13390" sizeY="10855" type="com.sun.star.drawing.CustomShape" name="Freeform 3" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="c3d69b" fillTransparence="0" fillTransparenceGradientName="">
+ <XShape positionX="5769" positionY="5160" sizeX="13390" sizeY="10855" type="com.sun.star.drawing.CustomShape" name="Freeform 3" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="c3d69b" fillTransparence="0" fillTransparenceGradientName="">
   <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="3465a4" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -86,7 +86,7 @@
    </PropertyValue>
   </CustomShapeGeometry>
  </XShape>
- <XShape positionX="5291" positionY="7175" sizeX="1419" sizeY="1450" type="com.sun.star.drawing.CustomShape" name="Left Arrow 9" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
+ <XShape positionX="5291" positionY="7175" sizeX="1419" sizeY="1450" type="com.sun.star.drawing.CustomShape" name="Left Arrow 9" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
   <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="b29dde" endColor="ffffff" angle="1350" border="0" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -163,7 +163,7 @@
    </PropertyValue>
   </CustomShapeGeometry>
  </XShape>
- <XShape positionX="17594" positionY="7175" sizeX="1418" sizeY="1450" type="com.sun.star.drawing.CustomShape" name="Left Arrow 13" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
+ <XShape positionX="17594" positionY="7175" sizeX="1418" sizeY="1450" type="com.sun.star.drawing.CustomShape" name="Left Arrow 13" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
   <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="b29dde" endColor="ffffff" angle="2250" border="0" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
diff --git a/sd/qa/unit/data/xml/n762695_1.xml b/sd/qa/unit/data/xml/n762695_1.xml
index 54b383db40a8..587d22ab2a56 100644
--- a/sd/qa/unit/data/xml/n762695_1.xml
+++ b/sd/qa/unit/data/xml/n762695_1.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <XShapes>
- <XShape positionX="3175" positionY="7197" sizeX="17991" sizeY="7619" type="com.sun.star.drawing.CustomShape" name="Freeform 15" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
+ <XShape positionX="3175" positionY="7197" sizeX="17991" sizeY="7619" type="com.sun.star.drawing.CustomShape" name="Freeform 15" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
   <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="3465a4" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -86,7 +86,7 @@
    </PropertyValue>
   </CustomShapeGeometry>
  </XShape>
- <XShape positionX="3387" positionY="4229" sizeX="17682" sizeY="9528" type="com.sun.star.drawing.CustomShape" name="Freeform 16" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
+ <XShape positionX="3387" positionY="4229" sizeX="17682" sizeY="9528" type="com.sun.star.drawing.CustomShape" name="Freeform 16" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
   <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="3465a4" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -172,7 +172,7 @@
    </PropertyValue>
   </CustomShapeGeometry>
  </XShape>
- <XShape positionX="3598" positionY="5715" sizeX="4929" sizeY="1273" type="com.sun.star.drawing.CustomShape" name="Rounded Rectangular Callout 19" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="msTransGradient 1">
+ <XShape positionX="3598" positionY="5715" sizeX="4929" sizeY="1273" type="com.sun.star.drawing.CustomShape" name="Rounded Rectangular Callout 19" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="msTransGradient 1">
   <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="cccccc" angle="0" border="0" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="fff88d" endColor="ffd560" angle="0" border="0" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -325,7 +325,7 @@
    </PropertyValue>
   </CustomShapeGeometry>
  </XShape>
- <XShape positionX="10689" positionY="6125" sizeX="4131" sizeY="1273" type="com.sun.star.drawing.CustomShape" name="Rounded Rectangular Callout 20" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="msTransGradient 2">
+ <XShape positionX="10689" positionY="6125" sizeX="4131" sizeY="1273" type="com.sun.star.drawing.CustomShape" name="Rounded Rectangular Callout 20" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="msTransGradient 2">
   <FillTransparenceGradient style="LINEAR" startColor="cccccc" endColor="000000" angle="0" border="0" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="fff88d" endColor="fff88d" angle="0" border="0" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -478,7 +478,7 @@
    </PropertyValue>
   </CustomShapeGeometry>
  </XShape>
- <XShape positionX="15910" positionY="6125" sizeX="4978" sizeY="2671" type="com.sun.star.drawing.CustomShape" name="Rounded Rectangular Callout 21" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="msTransGradient 3">
+ <XShape positionX="15910" positionY="6125" sizeX="4978" sizeY="2671" type="com.sun.star.drawing.CustomShape" name="Rounded Rectangular Callout 21" fontHeight="24.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="msTransGradient 3">
   <FillTransparenceGradient style="LINEAR" startColor="cccccc" endColor="000000" angle="0" border="0" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="fff88d" endColor="fff88d" angle="0" border="0" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
diff --git a/sd/qa/unit/data/xml/n819614_0.xml b/sd/qa/unit/data/xml/n819614_0.xml
index e28d86fb510c..5005ed071ea2 100644
--- a/sd/qa/unit/data/xml/n819614_0.xml
+++ b/sd/qa/unit/data/xml/n819614_0.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <XShapes>
- <XShape positionX="1270" positionY="763" sizeX="21166" sizeY="1564" type="com.sun.star.presentation.TitleTextShape" name="Title 1" text="Test" fontHeight="44.000000" fontColor="000000" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="AUTOFIT" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="254" textRightDistance="254" textUpperDistance="127" textLowerDistance="127" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="3181" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
+ <XShape positionX="1270" positionY="763" sizeX="21166" sizeY="1564" type="com.sun.star.presentation.TitleTextShape" name="Title 1" text="Test" fontHeight="44.000000" fontColor="000000" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="AUTOFIT" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="254" textRightDistance="254" textUpperDistance="127" textLowerDistance="127" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="3181" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="NONE" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
   <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -3353,7 +3353,7 @@
      </PropertyValue>
     </CustomShapeGeometry>
    </XShape>
-   <XShape positionX="11049" positionY="2544" sizeX="2531" sizeY="1078" type="com.sun.star.drawing.CustomShape" text="Test1
" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="12" textRightDistance="12" textUpperDistance="12" textLowerDistance="12" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
+   <XShape positionX="11049" positionY="2544" sizeX="2531" sizeY="1078" type="com.sun.star.drawing.CustomShape" text="Test1
" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="12" textRightDistance="12" textUpperDistance="12" textLowerDistance="12" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="ffffff" endColor="ffffff" angle="1800" border="35" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -3417,7 +3417,7 @@
      </PropertyValue>
     </CustomShapeGeometry>
    </XShape>
-   <XShape positionX="182" positionY="4529" sizeX="2743" sizeY="1244" type="com.sun.star.drawing.CustomShape" text="A " fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="12" textRightDistance="12" textUpperDistance="12" textLowerDistance="12" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
+   <XShape positionX="182" positionY="4529" sizeX="2743" sizeY="1244" type="com.sun.star.drawing.CustomShape" text="A " fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="12" textRightDistance="12" textUpperDistance="12" textLowerDistance="12" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="ffffff" endColor="ffffff" angle="1800" border="35" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -3481,7 +3481,7 @@
      </PropertyValue>
     </CustomShapeGeometry>
    </XShape>
-   <XShape positionX="792" positionY="5919" sizeX="2743" sizeY="1131" type="com.sun.star.drawing.CustomShape" text="A1" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="12" textRightDistance="12" textUpperDistance="12" textLowerDistance="12" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
+   <XShape positionX="792" positionY="5919" sizeX="2743" sizeY="1131" type="com.sun.star.drawing.CustomShape" text="A1" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="12" textRightDistance="12" textUpperDistance="12" textLowerDistance="12" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="ffffff" endColor="ffffff" angle="1800" border="35" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -3545,7 +3545,7 @@
      </PropertyValue>
     </CustomShapeGeometry>
    </XShape>
-   <XShape positionX="794" positionY="17350" sizeX="2761" sizeY="1222" type="com.sun.star.drawing.CustomShape" text="A2" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="12" textRightDistance="12" textUpperDistance="12" textLowerDistance="12" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="ddd9c3" fillTransparence="0" fillTransparenceGradientName="">
+   <XShape positionX="794" positionY="17350" sizeX="2761" sizeY="1222" type="com.sun.star.drawing.CustomShape" text="A2" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="12" textRightDistance="12" textUpperDistance="12" textLowerDistance="12" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="SOLID" fillColor="ddd9c3" fillTransparence="0" fillTransparenceGradientName="">
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="3465a4" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -3609,7 +3609,7 @@
      </PropertyValue>
     </CustomShapeGeometry>
    </XShape>
-   <XShape positionX="792" positionY="7189" sizeX="2728" sizeY="1268" type="com.sun.star.drawing.CustomShape" text="A3" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="12" textRightDistance="12" textUpperDistance="12" textLowerDistance="12" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
+   <XShape positionX="792" positionY="7189" sizeX="2728" sizeY="1268" type="com.sun.star.drawing.CustomShape" text="A3" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="12" textRightDistance="12" textUpperDistance="12" textLowerDistance="12" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="ffffff" endColor="ffffff" angle="1800" border="35" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -3673,7 +3673,7 @@
      </PropertyValue>
     </CustomShapeGeometry>
    </XShape>
-   <XShape positionX="792" positionY="8671" sizeX="2653" sizeY="1156" type="com.sun.star.drawing.CustomShape" text="A4" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="12" textRightDistance="12" textUpperDistance="12" textLowerDistance="12" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
+   <XShape positionX="792" positionY="8671" sizeX="2653" sizeY="1156" type="com.sun.star.drawing.CustomShape" text="A4" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="12" textRightDistance="12" textUpperDistance="12" textLowerDistance="12" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="ffffff" endColor="ffffff" angle="1800" border="35" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -3737,7 +3737,7 @@
      </PropertyValue>
     </CustomShapeGeometry>
    </XShape>
-   <XShape positionX="791" positionY="9939" sizeX="2743" sizeY="1131" type="com.sun.star.drawing.CustomShape" text="A5" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="12" textRightDistance="12" textUpperDistance="12" textLowerDistance="12" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
+   <XShape positionX="791" positionY="9939" sizeX="2743" sizeY="1131" type="com.sun.star.drawing.CustomShape" text="A5" fontHeight="18.000000" fontColor="ffffffff" textAutoGrowHeight="false" textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="CENTER" textVerticalAdjust="CENTER" textLeftDistance="12" textRightDistance="12" textUpperDistance="12" textLowerDistance="12" textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" textAnimationStartInside="false" textAnimationStopInside="false" textWritingMode="LR_TB" fillStyle="GRADIENT" fillColor="729fcf" fillTransparence="0" fillTransparenceGradientName="">
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="ffffff" endColor="ffffff" angle="1800" border="35" xOffset="0" yOffset="0" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -3801,7 +3801,7 @@
      </PropertyValue>
     </CustomShapeGeometry>
    </XShape>

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list