summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2013-06-12 09:31:50 +0200
committerNoel Grandin <noel@peralex.com>2013-06-12 10:45:54 +0200
commita591811d0883ffaf316209c86fe5a798532e25f6 (patch)
tree985dcb95433e487a6f93a1f78f148cf7b5808b7c
parent2d64de59c2109e378e4d38d6cad2510226c05435 (diff)
Fix exception specification for ZipFileAccess::createWithURL
Broken during my conversion to new-style UNO in commit 28e3aff576f06b0b02c7232da5d723e865b3c7ed. Also revert mmeeks workaround in commit c0b78901dba033ed112a023a787575ae54ef877d. Change-Id: I1f711bbe19556f1bde7699295ca4f56cff54ddb9
-rw-r--r--offapi/com/sun/star/packages/zip/ZipFileAccess.idl8
-rw-r--r--package/source/zippackage/zipfileaccess.cxx2
-rw-r--r--vcl/source/gdi/impimagetree.cxx4
3 files changed, 12 insertions, 2 deletions
diff --git a/offapi/com/sun/star/packages/zip/ZipFileAccess.idl b/offapi/com/sun/star/packages/zip/ZipFileAccess.idl
index a53362bc6e1f..6d54509b5670 100644
--- a/offapi/com/sun/star/packages/zip/ZipFileAccess.idl
+++ b/offapi/com/sun/star/packages/zip/ZipFileAccess.idl
@@ -20,6 +20,8 @@
#define __com_sun_star_packages_zip_ZipFileAccess_idl__
#include <com/sun/star/packages/zip/XZipFileAccess2.idl>
+#include <com/sun/star/packages/zip/ZipException.idl>
+#include <com/sun/star/ucb/ContentCreationException.idl>
#include <com/sun/star/ucb/InteractiveIOException.idl>
@@ -31,7 +33,11 @@ module com { module sun { module star { module packages { module zip {
*/
service ZipFileAccess : XZipFileAccess2
{
- createWithURL([in] string URL) raises ( com::sun::star::io::IOException, com::sun::star::ucb::InteractiveIOException );
+ createWithURL([in] string URL)
+ raises ( com::sun::star::io::IOException,
+ com::sun::star::ucb::ContentCreationException,
+ com::sun::star::ucb::InteractiveIOException,
+ com::sun::star::packages::zip::ZipException );
};
diff --git a/package/source/zippackage/zipfileaccess.cxx b/package/source/zippackage/zipfileaccess.cxx
index 4365482808c0..5f30ee9b7233 100644
--- a/package/source/zippackage/zipfileaccess.cxx
+++ b/package/source/zippackage/zipfileaccess.cxx
@@ -172,7 +172,7 @@ void SAL_CALL OZipFileAccess::initialize( const uno::Sequence< uno::Any >& aArgu
throw lang::DisposedException(OSL_LOG_PREFIX, uno::Reference< uno::XInterface >() );
if ( m_pZipFile )
- throw uno::Exception(OSL_LOG_PREFIX, uno::Reference< uno::XInterface >() ); // initialization is allowed only one time
+ throw uno::RuntimeException(OSL_LOG_PREFIX, uno::Reference< uno::XInterface >() ); // initialization is allowed only one time
if ( !aArguments.getLength() )
throw lang::IllegalArgumentException(OSL_LOG_PREFIX, uno::Reference< uno::XInterface >(), 1 );
diff --git a/vcl/source/gdi/impimagetree.cxx b/vcl/source/gdi/impimagetree.cxx
index 426738bef45e..1ab5e23bf911 100644
--- a/vcl/source/gdi/impimagetree.cxx
+++ b/vcl/source/gdi/impimagetree.cxx
@@ -301,6 +301,8 @@ bool ImplImageTree::find(
if (!m_path.second.is()) {
try {
m_path.second = css::packages::zip::ZipFileAccess::createWithURL(comphelper::getProcessComponentContext(), m_path.first + ".zip");
+ } catch (const css::uno::RuntimeException &) {
+ throw;
} catch (const css::uno::Exception & e) {
SAL_INFO("vcl", "ImplImageTree::find exception "
<< e.Message << " for " << m_path.first);
@@ -341,6 +343,8 @@ void ImplImageTree::loadImageLinks()
try
{
m_path.second = css::packages::zip::ZipFileAccess::createWithURL(comphelper::getProcessComponentContext(), m_path.first + ".zip");
+ } catch (const css::uno::RuntimeException &) {
+ throw;
}
catch (const css::uno::Exception & e)
{