[Libreoffice-commits] core.git: 2 commits - sc/source
Markus Mohrhard
markus.mohrhard at collabora.co.uk
Sun Dec 21 21:24:45 PST 2014
sc/source/filter/excel/xelink.cxx | 34 +++++++++++++++++++++-------------
1 file changed, 21 insertions(+), 13 deletions(-)
New commits:
commit b241910325456b32c2d3614c2e200305e85a357c
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date: Mon Dec 22 06:22:45 2014 +0100
fix another validation error for OOXML, related fdo#40746
e.g. exporting fdo40746-2.ods as OOXML
Change-Id: I8a19ec2caecbc3687229d820ac2ec11fc01facd1
diff --git a/sc/source/filter/excel/xelink.cxx b/sc/source/filter/excel/xelink.cxx
index 8ecef76..7cbf9a5 100644
--- a/sc/source/filter/excel/xelink.cxx
+++ b/sc/source/filter/excel/xelink.cxx
@@ -241,7 +241,7 @@ protected:
/** Writes the list of externalName elements. */
void WriteExtNameBufferXml( XclExpXmlStream& rStrm );
-private:
+protected:
typedef boost::shared_ptr< XclExpExtNameBuffer > XclExpExtNameBfrRef;
XclExpExtNameBfrRef mxExtNameBfr; /// List of EXTERNNAME records.
};
@@ -1680,14 +1680,18 @@ void XclExpSupbook::SaveXml( XclExpXmlStream& rStrm )
}
- pExternalLink->startElement( XML_sheetDataSet, FSEND);
+ if (!maXctList.IsEmpty() || mxExtNameBfr)
+ {
+ pExternalLink->startElement( XML_sheetDataSet, FSEND);
- // sheetData elements
- maXctList.SaveXml( rStrm );
- // externalName elements
- WriteExtNameBufferXml( rStrm );
+ // sheetData elements
+ maXctList.SaveXml( rStrm );
+ // externalName elements
+ WriteExtNameBufferXml( rStrm );
- pExternalLink->endElement( XML_sheetDataSet);
+ pExternalLink->endElement( XML_sheetDataSet);
+
+ }
pExternalLink->endElement( XML_externalBook);
pExternalLink->endElement( XML_externalLink);
}
commit 3e551da43da5661396fbc2530a203d4774e29f78
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date: Mon Dec 22 06:18:07 2014 +0100
fix OOXML validation error, related fdo#40746
e.g. fdo40746-2.ods exported to OOXML
Change-Id: I48bc7a7d21ddc00eceaeb09970a2b1a60330fbf0
diff --git a/sc/source/filter/excel/xelink.cxx b/sc/source/filter/excel/xelink.cxx
index a347dce..8ecef76 100644
--- a/sc/source/filter/excel/xelink.cxx
+++ b/sc/source/filter/excel/xelink.cxx
@@ -1667,14 +1667,18 @@ void XclExpSupbook::SaveXml( XclExpXmlStream& rStrm )
FSNS(XML_r, XML_id), XclXmlUtils::ToOString( sId ).getStr(),
FSEND);
- pExternalLink->startElement( XML_sheetNames, FSEND);
- for (size_t nPos = 0, nSize = maXctList.GetSize(); nPos < nSize; ++nPos)
+ if (!maXctList.IsEmpty())
{
- pExternalLink->singleElement( XML_sheetName,
- XML_val, XclXmlUtils::ToOString( maXctList.GetRecord( nPos )->GetTabName()).getStr(),
- FSEND);
+ pExternalLink->startElement( XML_sheetNames, FSEND);
+ for (size_t nPos = 0, nSize = maXctList.GetSize(); nPos < nSize; ++nPos)
+ {
+ pExternalLink->singleElement( XML_sheetName,
+ XML_val, XclXmlUtils::ToOString( maXctList.GetRecord( nPos )->GetTabName()).getStr(),
+ FSEND);
+ }
+ pExternalLink->endElement( XML_sheetNames);
+
}
- pExternalLink->endElement( XML_sheetNames);
pExternalLink->startElement( XML_sheetDataSet, FSEND);
More information about the Libreoffice-commits
mailing list