[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