diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2012-12-19 13:52:56 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2012-12-19 13:56:07 +0100 |
commit | eaf3c60194e440e8a9bebac46f8d55ba6246001a (patch) | |
tree | 5db31caa90755074a87b5ea24bcc51be70f31aa3 | |
parent | 28e4c0250e67a344b4d6088bdca2e680a4bffad0 (diff) |
fdo#58331: Handle IllegalArgumentException routinely thrown for legacy exts
...that was no longer handled properly when installing such a legacy .zip
extension due to 31170413ae3786bf44564e813d7291354e939a77 "API CHANGE:
com.sun.star.lang.IllegalArgumentException."
Change-Id: I6f5f4be0eed16496d8d3c3623d6676c7c669c5c4
-rw-r--r-- | desktop/source/deployment/registry/package/dp_package.cxx | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx index 3e5d31c6d348..e2cdfad0b970 100644 --- a/desktop/source/deployment/registry/package/dp_package.cxx +++ b/desktop/source/deployment/registry/package/dp_package.cxx @@ -866,7 +866,7 @@ void BackendImpl::PackageImpl::processPackage_( try { xPackage->registerPackage( startup, xSubAbortChannel, xCmdEnv ); } - catch (const Exception &) + catch (const Exception & e) { //We even try a rollback if the user cancelled the action (CommandAbortedException) //in order to prevent invalid database entries. @@ -1366,9 +1366,15 @@ Reference<deployment::XPackage> BackendImpl::PackageImpl::bindBundleItem( Reference<deployment::XPackage>xPackage; try { - xPackage.set( getMyBackend()->m_xRootRegistry->bindPackage( - url, mediaType, bRemoved, identifier, xCmdEnv ) ); - OSL_ASSERT( xPackage.is() ); + try { + xPackage.set( getMyBackend()->m_xRootRegistry->bindPackage( + url, mediaType, bRemoved, identifier, xCmdEnv ) ); + OSL_ASSERT( xPackage.is() ); + } catch (css::lang::IllegalArgumentException & e) { + css::uno::Any exc(cppu::getCaughtException()); + throw css::lang::WrappedTargetException( + "wrapped: " + e.Message, e.Context, exc); + } } catch (const RuntimeException &) { throw; |