summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xstoc/source/simpleregistry/textualservices.cxx18
-rw-r--r--stoc/util/bootstrap.component6
2 files changed, 10 insertions, 14 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(
diff --git a/stoc/util/bootstrap.component b/stoc/util/bootstrap.component
index a77b21ede361..ccc131b4a6db 100644
--- a/stoc/util/bootstrap.component
+++ b/stoc/util/bootstrap.component
@@ -38,16 +38,12 @@
<service name="com.sun.star.registry.NestedRegistry"/>
</implementation>
<implementation name="com.sun.star.comp.stoc.ORegistryServiceManager">
- <service name="com.sun.star.lang.MultiServiceFactory"/>
<service name="com.sun.star.lang.RegistryServiceManager"/>
</implementation>
<implementation name="com.sun.star.comp.stoc.OServiceManager">
- <service name="com.sun.star.lang.MultiServiceFactory"/>
<service name="com.sun.star.lang.ServiceManager"/>
</implementation>
- <implementation name="com.sun.star.comp.stoc.OServiceManagerWrapper">
- <service name="com.sun.star.lang.MultiServiceFactory"/>
- </implementation>
+ <implementation name="com.sun.star.comp.stoc.OServiceManagerWrapper"/>
<implementation name="com.sun.star.comp.stoc.RegistryTypeDescriptionProvider">
<service name="com.sun.star.reflection.TypeDescriptionProvider"/>
</implementation>