diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2013-05-08 12:29:53 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2013-05-08 12:29:53 +0200 |
commit | 4e42ce3271154904b7478b9ed5e6e6856b9235c2 (patch) | |
tree | cddb17b331904e0978032d189d33a04c725f83a4 /cppuhelper/source/defaultbootstrap.cxx | |
parent | 56fa2d1bed5b19af79e31db9065f1a05e6202764 (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.cxx | 9 |
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( |