[Libreoffice-commits] core.git: sc/source
Xisco Fauli (via logerrit)
logerrit at kemper.freedesktop.org
Fri Aug 27 06:50:14 UTC 2021
sc/source/filter/xml/xmlexprt.cxx | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
New commits:
commit 7246759822aff30e4e4e1bca7949eae3b0d960ef
Author: Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Thu Aug 26 19:10:58 2021 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Fri Aug 27 08:49:42 2021 +0200
tdf#143940: the style index might be -1
Similar to 52aebe6986bcec07071adb3f94d6c09fea147044
< tdf#138466 Crash when creating different scenarios >
ExportColumns calls GetStyleNameIndex which might return -1
so check the index is different than -1 as it's already done
when calling ScFormatRangeStyles::GetStyleNameByIndex
Also move fix for tdf#138466 down the stack to be consistent
Debug builds will still assert, see coverity#1438402
Since 5e777f23fd0118f6649f0d9e30eb77a72f1099e4
< loplugin:useuniqueptr in ScColumnRowStylesBase >
where the nIndex < 0 check in
ScColumnRowStylesBase::GetStyleNameByIndex was removed
Change-Id: I084bfa04c39f37cb325c3b3df76801b3abdea994
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121128
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx
index 5e50cfbf9262..427abc0e296c 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -736,7 +736,9 @@ void ScXMLExport::WriteSingleColumn(const sal_Int32 nRepeatColumns, const sal_In
const sal_Int32 nIndex, const bool bIsAutoStyle, const bool bIsVisible)
{
CheckAttrList();
- AddAttribute(sAttrStyleName, pColumnStyles->GetStyleNameByIndex(nStyleIndex));
+ // tdf#138466
+ if (nStyleIndex != -1)
+ AddAttribute(sAttrStyleName, pColumnStyles->GetStyleNameByIndex(nStyleIndex));
if (!bIsVisible)
AddAttribute(XML_NAMESPACE_TABLE, XML_VISIBILITY, XML_COLLAPSE);
if (nRepeatColumns > 1)
@@ -869,9 +871,7 @@ void ScXMLExport::ExportColumns(const sal_Int32 nTable, const ScRange& aColumnHe
nColsRepeated = 1;
}
}
- // tdf#138466
- if (nPrevIndex != -1)
- WriteColumn(nPrevColumn, nColsRepeated, nPrevIndex, bPrevIsVisible);
+ WriteColumn(nPrevColumn, nColsRepeated, nPrevIndex, bPrevIsVisible);
if (!bIsClosed)
CloseHeaderColumn();
if (pGroupColumns->IsGroupEnd(nColumn - 1))
@@ -1350,7 +1350,9 @@ void ScXMLExport::WriteRowStartTag(
const sal_Int32 nIndex, const sal_Int32 nEqualRows,
bool bHidden, bool bFiltered)
{
- AddAttribute(sAttrStyleName, pRowStyles->GetStyleNameByIndex(nIndex));
+ // tdf#143940
+ if (nIndex != -1)
+ AddAttribute(sAttrStyleName, pRowStyles->GetStyleNameByIndex(nIndex));
if (bHidden)
{
if (bFiltered)
More information about the Libreoffice-commits
mailing list