summaryrefslogtreecommitdiff
path: root/sd/source/ui/unoidl/sddetect.cxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-02-04 14:14:15 -0500
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-02-05 09:29:52 -0500
commit278b3534e3aa27b92f7d681f086cb071df75bffd (patch)
tree4d4ce1211d1887a78808935fb580ae5175d6f02a /sd/source/ui/unoidl/sddetect.cxx
parente77c476610ee3f7ca4bbb9728b495e41372ac33a (diff)
fdo#59426: Don't try to repair package during flat detection phase. suse-3.6-10
Conflicts: comphelper/source/misc/mediadescriptor.cxx sc/source/ui/unoobj/scdetect.cxx Change-Id: I35968241a79db0aabe06e25c0efac2aa3d1c5b84
Diffstat (limited to 'sd/source/ui/unoidl/sddetect.cxx')
-rw-r--r--sd/source/ui/unoidl/sddetect.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/sd/source/ui/unoidl/sddetect.cxx b/sd/source/ui/unoidl/sddetect.cxx
index ba0fd114ec21..1a5da08b3d6f 100644
--- a/sd/source/ui/unoidl/sddetect.cxx
+++ b/sd/source/ui/unoidl/sddetect.cxx
@@ -112,6 +112,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
@@ -162,6 +163,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
@@ -268,6 +271,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() )
{