summaryrefslogtreecommitdiff
path: root/cppuhelper/source/defaultbootstrap.cxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2013-05-08 12:29:53 +0200
committerStephan Bergmann <sbergman@redhat.com>2013-05-08 12:29:53 +0200
commit4e42ce3271154904b7478b9ed5e6e6856b9235c2 (patch)
treecddb17b331904e0978032d189d33a04c725f83a4 /cppuhelper/source/defaultbootstrap.cxx
parent56fa2d1bed5b19af79e31db9065f1a05e6202764 (diff)
Don't call code in UNO object ctor that throws UNO exceptions
...with Context set to this, that leads to refcounting bugs. Change-Id: I4875dbe4ccb5a7bcfaa8370b14d4eab83c21d0e5
Diffstat (limited to 'cppuhelper/source/defaultbootstrap.cxx')
-rw-r--r--cppuhelper/source/defaultbootstrap.cxx9
1 files changed, 4 insertions, 5 deletions
diff --git a/cppuhelper/source/defaultbootstrap.cxx b/cppuhelper/source/defaultbootstrap.cxx
index fc790bac1134..ff8338964132 100644
--- a/cppuhelper/source/defaultbootstrap.cxx
+++ b/cppuhelper/source/defaultbootstrap.cxx
@@ -56,11 +56,10 @@ cppu::defaultBootstrap_InitialComponentContext(rtl::OUString const & iniUri)
css::uno::Reference< css::uno::XInterface >());
}
rtl::Reference< cppuhelper::ServiceManager > smgr(
- new cppuhelper::ServiceManager(
- getBootstrapVariable(bs, "UNO_SERVICES")));
- rtl::Reference< cppuhelper::TypeManager > tmgr(
- new cppuhelper::TypeManager(
- getBootstrapVariable(bs, "UNO_TYPES")));
+ new cppuhelper::ServiceManager);
+ smgr->init(getBootstrapVariable(bs, "UNO_SERVICES"));
+ rtl::Reference< cppuhelper::TypeManager > tmgr(new cppuhelper::TypeManager);
+ tmgr->init(getBootstrapVariable(bs, "UNO_TYPES"));
cppu::ContextEntry_Init entry;
std::vector< cppu::ContextEntry_Init > context_values;
context_values.push_back(