summaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2014-05-20 11:12:40 +0200
committerAndras Timar <andras.timar@collabora.com>2014-05-22 16:14:09 +0200
commitcbfa5c117ff652161efe115f723bfe42e5644973 (patch)
treea73c9fe0635615278bcfee375726a58d5e46f361 /package
parentd395065aaa39f7d8f767da864c97034a4c542fb5 (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.cxx14
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 )
{