summaryrefslogtreecommitdiff
path: root/stoc/source/simpleregistry/textualservices.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'stoc/source/simpleregistry/textualservices.cxx')
-rwxr-xr-xstoc/source/simpleregistry/textualservices.cxx18
1 files changed, 9 insertions, 9 deletions
diff --git a/stoc/source/simpleregistry/textualservices.cxx b/stoc/source/simpleregistry/textualservices.cxx
index a3e44d6437bf..44315b689dc7 100755
--- a/stoc/source/simpleregistry/textualservices.cxx
+++ b/stoc/source/simpleregistry/textualservices.cxx
@@ -194,21 +194,13 @@ Parser::Parser(rtl::OUString const & uri, rtl::Reference< Data > const & data):
RTL_CONSTASCII_USTRINGPARAM(
": unexpected item in <component>"))),
css::uno::Reference< css::uno::XInterface >());
+ case STATE_IMPLEMENTATION_INITIAL:
case STATE_IMPLEMENTATION_SERVICE:
case STATE_IMPLEMENTATION_SINGLETON:
if (res == xmlreader::XmlReader::RESULT_END) {
state = STATE_COMPONENT;
break;
}
- if (res == xmlreader::XmlReader::RESULT_BEGIN && nsId == ucNsId &&
- name.equals(RTL_CONSTASCII_STRINGPARAM("singleton")))
- {
- handleSingleton();
- state = STATE_SINGLETON;
- break;
- }
- // fall through
- case STATE_IMPLEMENTATION_INITIAL:
if (state != STATE_IMPLEMENTATION_SINGLETON &&
res == xmlreader::XmlReader::RESULT_BEGIN && nsId == ucNsId &&
name.equals(RTL_CONSTASCII_STRINGPARAM("service")))
@@ -217,6 +209,14 @@ Parser::Parser(rtl::OUString const & uri, rtl::Reference< Data > const & data):
state = STATE_SERVICE;
break;
}
+ if (state != STATE_IMPLEMENTATION_INITIAL &&
+ res == xmlreader::XmlReader::RESULT_BEGIN && nsId == ucNsId &&
+ name.equals(RTL_CONSTASCII_STRINGPARAM("singleton")))
+ {
+ handleSingleton();
+ state = STATE_SINGLETON;
+ break;
+ }
throw css::registry::InvalidRegistryException(
(reader_.getUrl() +
rtl::OUString(