diff options
author | sb <sb@openoffice.org> | 2010-07-28 13:01:55 +0200 |
---|---|---|
committer | sb <sb@openoffice.org> | 2010-07-28 13:01:55 +0200 |
commit | 827100404f29853108a0a1fb8c329c2bb0410de4 (patch) | |
tree | 4febec011d2fee4a5545a10e35a899e35891d244 /configmgr | |
parent | 45fdc2501daaa968d133602ea325450d1af7a2a9 (diff) |
fwk152: #i113454# accept broken .xcs files containing empty <oor:component-scheme>
Diffstat (limited to 'configmgr')
-rw-r--r-- | configmgr/source/xcsparser.cxx | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/configmgr/source/xcsparser.cxx b/configmgr/source/xcsparser.cxx index 79e122759f..37b46494c6 100644 --- a/configmgr/source/xcsparser.cxx +++ b/configmgr/source/xcsparser.cxx @@ -321,15 +321,19 @@ void XcsParser::endElement(XmlReader const & reader) { } else { switch (state_) { case STATE_COMPONENT_SCHEMA: + // To support old, broken extensions with .xcs files that contain + // empty <component-schema> elements: + state_ = STATE_COMPONENT_DONE; + break; + case STATE_TEMPLATES: + state_ = STATE_TEMPLATES_DONE; + break; case STATE_TEMPLATES_DONE: throw css::uno::RuntimeException( (rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("no component element in ")) + reader.getUrl()), css::uno::Reference< css::uno::XInterface >()); - case STATE_TEMPLATES: - state_ = STATE_TEMPLATES_DONE; - break; case STATE_COMPONENT_DONE: break; default: |