diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-02-04 14:14:15 -0500 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-02-05 23:52:38 +0000 |
commit | ac2ee597d39fb45cd4873d4ae345e4dbfa2404eb (patch) | |
tree | dc793e8614467c4d375944b2e70f199075771fc2 /sd | |
parent | f5b58a5ed32b4f4bcb6e48e2c6db059c9163dc96 (diff) |
fdo#59426: Don't try to repair package during flat detection phase.
Change-Id: I35968241a79db0aabe06e25c0efac2aa3d1c5b84
Reviewed-on: https://gerrit.libreoffice.org/1984
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sd')
-rw-r--r-- | sd/source/ui/unoidl/sddetect.cxx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sd/source/ui/unoidl/sddetect.cxx b/sd/source/ui/unoidl/sddetect.cxx index 0431e6e985d9..4ff9a46f0baa 100644 --- a/sd/source/ui/unoidl/sddetect.cxx +++ b/sd/source/ui/unoidl/sddetect.cxx @@ -102,6 +102,7 @@ SdFilterDetect::~SdFilterDetect() sal_Bool bRepairPackage = sal_False; sal_Bool bRepairAllowed = sal_False; + bool bDeepDetection = false; // now some parameters that can already be in the array, but may be overwritten or new inserted here // remember their indices in the case new values must be added to the array @@ -152,6 +153,8 @@ SdFilterDetect::~SdFilterDetect() lDescriptor[nProperty].Value >>= bRepairPackage; else if ( lDescriptor[nProperty].Name == "DocumentTitle" ) nIndexOfDocumentTitle = nProperty; + else if (lDescriptor[nProperty].Name == "DeepDetection") + bDeepDetection = lDescriptor[nProperty].Value.get<sal_Bool>(); } // can't check the type for external filters, so set the "dont" flag accordingly @@ -258,6 +261,10 @@ SdFilterDetect::~SdFilterDetect() } catch( const lang::WrappedTargetException& aWrap ) { + if (!bDeepDetection) + // Bail out early unless it's a deep detection. + return OUString(); + packages::zip::ZipIOException aZipException; if ( ( aWrap.TargetException >>= aZipException ) && aTypeName.Len() ) { |