[Libreoffice-commits] core.git: offapi/com package/source vcl/source

Noel Grandin noel at peralex.com
Wed Jun 12 01:46:22 PDT 2013


 offapi/com/sun/star/packages/zip/ZipFileAccess.idl |    8 +++++++-
 package/source/zippackage/zipfileaccess.cxx        |    2 +-
 vcl/source/gdi/impimagetree.cxx                    |    4 ++++
 3 files changed, 12 insertions(+), 2 deletions(-)

New commits:
commit a591811d0883ffaf316209c86fe5a798532e25f6
Author: Noel Grandin <noel at peralex.com>
Date:   Wed Jun 12 09:31:50 2013 +0200

    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

diff --git a/offapi/com/sun/star/packages/zip/ZipFileAccess.idl b/offapi/com/sun/star/packages/zip/ZipFileAccess.idl
index a53362b..6d54509 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 4365482..5f30ee9 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 426738b..1ab5e23 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)
         {


More information about the Libreoffice-commits mailing list