About tdf#92720: Report fails to open with Charts in a Report
julien2412
serval2412 at yahoo.fr
Wed Sep 2 14:33:15 PDT 2015
Hello,
Giving a try to tdf#92720, I retrieved a bt which shows a pb with
XML_NAMESPACE_LO_EXT
Indeed when search XML_P ("p" element), we don't find it in
SvXMLNamespaceMap::GetQNameByKey (see
http://opengrok.libreoffice.org/xref/core/xmloff/source/core/nmspmap.cxx#238)
because aNameMap doesn't contain XML_NAMESPACE_LO_EXT.
Searching a bit, I noticed that in xmloff/source/core/xmlexp.cxx, this
namespace was added only if :
getExportFlags() &
(SvXMLExportFlags::STYLES|SvXMLExportFlags::AUTOSTYLES|SvXMLExportFlags::MASTERSTYLES|SvXMLExportFlags::CONTENT)
(see
http://opengrok.libreoffice.org/xref/core/xmloff/source/core/xmlexp.cxx#340)
+
getDefaultVersion() > SvtSaveOptions::ODFVER_012
(see
http://opengrok.libreoffice.org/xref/core/xmloff/source/core/xmlexp.cxx#355)
If I move out the second if from the first if, I got no crash but a Java
stack trace with Pentaho complaining it doesn't know XML_NAMESPACE_LO_EXT
So finally, I thought about this patch to workaround this and prevent from
the crash:
diff --git a/xmloff/source/text/txtparae.cxx
b/xmloff/source/text/txtparae.cxx
index f7f0a8f..1c42df5 100644
--- a/xmloff/source/text/txtparae.cxx
+++ b/xmloff/source/text/txtparae.cxx
@@ -1910,7 +1910,7 @@ bool
XMLTextParagraphExport::exportTextContentEnumeration(
void XMLTextParagraphExport::exportParagraph(
const Reference < XTextContent > & rTextContent,
bool bAutoStyles, bool bIsProgress, bool bExportParagraph,
- MultiPropertySetHelper& rPropSetHelper, TextPNS eExtensionNS)
+ MultiPropertySetHelper& rPropSetHelper, TextPNS /* eExtensionNS */)
{
sal_Int16 nOutlineLevel = -1;
@@ -2156,7 +2156,7 @@ void XMLTextParagraphExport::exportParagraph(
bool bPrevCharIsSpace = true;
enum XMLTokenEnum eElem =
0 < nOutlineLevel ? XML_H : XML_P;
- SvXMLElementExport aElem( GetExport(), eExtensionNS ==
TextPNS::EXTENSION ? XML_NAMESPACE_LO_EXT : XML_NAMESPACE_TEXT, eElem,
+ SvXMLElementExport aElem( GetExport(), XML_NAMESPACE_TEXT, eElem,
true, false );
if( bHasContentEnum )
bPrevCharIsSpace = !exportTextContentEnumeration(
(like
http://cgit.freedesktop.org/libreoffice/core/commit/?id=6acc6c011d3afd6834efeee1b2efe43652a86f2e
which introduced XML_NAMESPACE_LO_EXT - thanks to Matthew Francis for having
pinpointed it in bugtracker - in this part and which sometimes doesn't use
eExtensionNS parameter)
Any thoughts?
Julien
--
View this message in context: http://nabble.documentfoundation.org/About-tdf-92720-Report-fails-to-open-with-Charts-in-a-Report-tp4159129.html
Sent from the Dev mailing list archive at Nabble.com.
More information about the LibreOffice
mailing list