summaryrefslogtreecommitdiff
path: root/xmloff/inc
diff options
context:
space:
mode:
authorNoel <noelgrandin@gmail.com>2020-11-24 11:03:25 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-11-24 17:47:50 +0100
commitf981f756e1509ac0a39cd618316cfe3befd5923a (patch)
tree5eb9a22b4269a31547e117b709bccd744b4af11d /xmloff/inc
parentd84deb9536373ddc9efcf513e9d88035215bd735 (diff)
fix crash in loading ooo57731-1.odt
This fixes bugs in the following commits, where we need to also process unknown elements, in order to maintain compatibility with the preceding code. commit 0c48c46d3ed5db39a0c0e6d0b35aab7506fb8772 Date: Thu Nov 19 13:16:17 2020 +0200 fastparser in DomBuilderContext commit bb124fe673d69f8a79478bf25329978a452b82da Author: Noel <noelgrandin@gmail.com> Date: Thu Nov 19 11:52:50 2020 +0200 fastparser in DomBuilderContext commit cf13e985a6112a18e4d405b807a2064092c01b2d Date: Thu Nov 19 14:17:54 2020 +0200 fastparser in TokenContext commit 39d8ee8f91f4c571030b53febdcba07ea55ca7de Date: Thu Nov 19 13:51:21 2020 +0200 fastparser in TokenContext Change-Id: I9e4eddfedc6d13db72066f0d5bf436fc237bf3e5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106490 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'xmloff/inc')
-rw-r--r--xmloff/inc/DomBuilderContext.hxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/xmloff/inc/DomBuilderContext.hxx b/xmloff/inc/DomBuilderContext.hxx
index 4c216084d112..c8498a094317 100644
--- a/xmloff/inc/DomBuilderContext.hxx
+++ b/xmloff/inc/DomBuilderContext.hxx
@@ -45,16 +45,24 @@ class DomBuilderContext final : public SvXMLImportContext
{
css::uno::Reference<css::xml::dom::XNode> mxNode;
+ void HandleAttributes(const css::uno::Reference< css::xml::sax::XFastAttributeList >& Attribs);
+
public:
/** default constructor: create new DOM tree */
DomBuilderContext( SvXMLImport& rImport,
sal_Int32 nElement );
+ DomBuilderContext( SvXMLImport& rImport,
+ const OUString & Namespace, const OUString & Name );
/** constructor: create DOM subtree under the given node */
DomBuilderContext( SvXMLImport& rImport,
sal_Int32 nElement,
css::uno::Reference<css::xml::dom::XNode> const & );
+ /** constructor: create DOM subtree under the given node */
+ DomBuilderContext( SvXMLImport& rImport,
+ const OUString & Namespace, const OUString & Name,
+ css::uno::Reference<css::xml::dom::XNode> const & );
virtual ~DomBuilderContext() override;
@@ -70,10 +78,15 @@ public:
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(
sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList >& AttrList ) override;
+ virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createUnknownChildContext(
+ const OUString& Namespace, const OUString& Name,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& Attribs ) override;
virtual void SAL_CALL startFastElement(
sal_Int32 nElement,
const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
+ virtual void SAL_CALL startUnknownElement(const OUString & Namespace, const OUString & Name,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
virtual void SAL_CALL characters( const OUString& rChars ) override;
};