summaryrefslogtreecommitdiff
path: root/sc/source/filter
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2017-11-30 18:29:37 +0100
committerMichael Stahl <mstahl@redhat.com>2017-11-30 22:32:46 +0100
commitf7a5335ef50f4a9775703a038006dfb983a50a15 (patch)
tree979d14b4145c5b1cf2809b5d3eab32ff4a705ef7 /sc/source/filter
parentebb34571c19c5ac939fbf5aed2ab66ee18e298dc (diff)
xmloff: turn SvXMLImportContext into a no-op base class
Fix the non-obvious and potentially dangerous recursion that is implicit in xmloff's context code. SvXMLImportContext::CreateChildContext() now always creates a SvXMLImportContext, does not delegate to SvXMLImport. Rename CreateContext to CreateDocumentContext, to make its purpose of creating only the top-level context more obvious. With the previous changes to CreateContext overrides in sw, reportdesign and dbaccess, this hopefully shouldn't break anything. Change-Id: I9e147bf6297bbac9e8470454881da73f6e39db0a
Diffstat (limited to 'sc/source/filter')
-rw-r--r--sc/source/filter/xml/xmlimprt.cxx4
-rw-r--r--sc/source/filter/xml/xmlimprt.hxx4
2 files changed, 3 insertions, 5 deletions
diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx
index e0795f56808d..b3f464b1def2 100644
--- a/sc/source/filter/xml/xmlimprt.cxx
+++ b/sc/source/filter/xml/xmlimprt.cxx
@@ -658,7 +658,7 @@ sc::PivotTableSources& ScXMLImport::GetPivotTableSources()
return *mpPivotSources;
}
-SvXMLImportContext *ScXMLImport::CreateContext( sal_uInt16 nPrefix,
+SvXMLImportContext *ScXMLImport::CreateDocumentContext( sal_uInt16 nPrefix,
const OUString& rLocalName,
const uno::Reference<xml::sax::XAttributeList>& xAttrList )
{
@@ -676,7 +676,7 @@ SvXMLImportContext *ScXMLImport::CreateContext( sal_uInt16 nPrefix,
xDPS->getDocumentProperties());
}
else
- pContext = SvXMLImport::CreateContext( nPrefix, rLocalName, xAttrList );
+ pContext = SvXMLImport::CreateDocumentContext( nPrefix, rLocalName, xAttrList );
return pContext;
}
diff --git a/sc/source/filter/xml/xmlimprt.hxx b/sc/source/filter/xml/xmlimprt.hxx
index 6cf664bdcf8d..c0cfeae34cee 100644
--- a/sc/source/filter/xml/xmlimprt.hxx
+++ b/sc/source/filter/xml/xmlimprt.hxx
@@ -373,9 +373,7 @@ class ScXMLImport: public SvXMLImport
protected:
- // This method is called after the namespace map has been updated, but
- // before a context for the current element has been pushed.
- virtual SvXMLImportContext *CreateContext(sal_uInt16 nPrefix,
+ virtual SvXMLImportContext *CreateDocumentContext(sal_uInt16 nPrefix,
const OUString& rLocalName,
const css::uno::Reference<css::xml::sax::XAttributeList>& xAttrList ) override;