summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-12-19 13:52:56 +0100
committerStephan Bergmann <sbergman@redhat.com>2012-12-19 13:56:07 +0100
commiteaf3c60194e440e8a9bebac46f8d55ba6246001a (patch)
tree5db31caa90755074a87b5ea24bcc51be70f31aa3 /desktop
parent28e4c0250e67a344b4d6088bdca2e680a4bffad0 (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
Diffstat (limited to 'desktop')
-rw-r--r--desktop/source/deployment/registry/package/dp_package.cxx14
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;