diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2014-05-20 11:12:40 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-05-20 06:51:30 -0500 |
commit | 164e10869f91b75db03b09f53e1467098b3e6b93 (patch) | |
tree | 0f16d0bf93782a3d73837c5bc9a01b5fcf250a00 /package | |
parent | 51a868729b5adfa402095f5c08fa889bddcd1b34 (diff) |
fdo#78949 Handle (SAXParse-)Exception that can't pass getAllRelationships
...like it was already done in the similar else branch of
ReadRelInfoIfNecessary. The call site at GetAllRelationshipsIfAny will
translate an m_nRelInfoStatus that remained RELINFO_NOT_INIT into an
IOException.
Change-Id: I79c601acd23b3b0020c7b4de4c20b0282524bce1
(cherry picked from commit 423921b085de43f53e42f957889dd96378d2c3c4)
Reviewed-on: https://gerrit.libreoffice.org/9411
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'package')
-rw-r--r-- | package/source/xstor/xstorage.cxx | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/package/source/xstor/xstorage.cxx b/package/source/xstor/xstorage.cxx index 9e2ffb72730d..8775561dde77 100644 --- a/package/source/xstor/xstorage.cxx +++ b/package/source/xstor/xstorage.cxx @@ -572,13 +572,19 @@ void OStorage_Impl::ReadRelInfoIfNecessary() { // Init from original stream uno::Reference< io::XInputStream > xRelInfoStream = GetRelInfoStreamForName( OUString() ); - if ( xRelInfoStream.is() ) - m_aRelInfo = ::comphelper::OFOPXMLHelper::ReadRelationsInfoSequence( + try + { + if ( xRelInfoStream.is() ) + m_aRelInfo = ::comphelper::OFOPXMLHelper::ReadRelationsInfoSequence( xRelInfoStream, "_rels/.rels", m_xContext ); - - m_nRelInfoStatus = RELINFO_READ; + m_nRelInfoStatus = RELINFO_READ; + } + catch (css::uno::Exception & e) + { + SAL_INFO("package.xstor", "caught Exception " << e.Message); + } } else if ( m_nRelInfoStatus == RELINFO_CHANGED_STREAM ) { |