summaryrefslogtreecommitdiff
path: root/configmgr/source/xcsparser.cxx
diff options
context:
space:
mode:
authorsb <sb@openoffice.org>2010-09-22 13:37:40 +0200
committersb <sb@openoffice.org>2010-09-22 13:37:40 +0200
commite0fdf2225180b54352bdaef9f9a9cab86e689c7f (patch)
tree95dee40f53c2d121791098246dff68d9b1e4dff5 /configmgr/source/xcsparser.cxx
parent1132d70e49231f199de83fe899ee47ce7f88cd24 (diff)
parent737b9524f777df9ce04b5822dda5a34f5db218f7 (diff)
sb126: merged in DEV300_m88
Diffstat (limited to 'configmgr/source/xcsparser.cxx')
-rw-r--r--configmgr/source/xcsparser.cxx10
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: