diff options
Diffstat (limited to 'cppu/source/uno/lbenv.cxx')
-rw-r--r-- | cppu/source/uno/lbenv.cxx | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/cppu/source/uno/lbenv.cxx b/cppu/source/uno/lbenv.cxx index d03621282919..e1d294f53682 100644 --- a/cppu/source/uno/lbenv.cxx +++ b/cppu/source/uno/lbenv.cxx @@ -1050,10 +1050,16 @@ static bool loadEnv(OUString const & cLibStem, // late init with some code from matching uno language binding // will be unloaded by environment osl::Module aMod; - bool bMod = cppu::detail::loadModule(aMod, cLibStem); - - if (!bMod) + try { + bool bMod = cppu::detail::loadModule(aMod, cLibStem); + if (!bMod) + return false; + } + catch(...) { + // Catch everything and convert to return false return false; + } + uno_initEnvironmentFunc fpInit = reinterpret_cast<uno_initEnvironmentFunc>(aMod.getSymbol(UNO_INIT_ENVIRONMENT)); |