summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-02-04 14:14:15 -0500
committerCaolán McNamara <caolanm@redhat.com>2013-02-05 23:52:38 +0000
commitac2ee597d39fb45cd4873d4ae345e4dbfa2404eb (patch)
treedc793e8614467c4d375944b2e70f199075771fc2 /sw
parentf5b58a5ed32b4f4bcb6e48e2c6db059c9163dc96 (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 'sw')
-rw-r--r--sw/source/ui/uno/swdetect.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/sw/source/ui/uno/swdetect.cxx b/sw/source/ui/uno/swdetect.cxx
index 4ccf329cd8e3..ba8fd2e15af2 100644
--- a/sw/source/ui/uno/swdetect.cxx
+++ b/sw/source/ui/uno/swdetect.cxx
@@ -97,6 +97,7 @@ SwFilterDetect::~SwFilterDetect()
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
@@ -151,6 +152,8 @@ SwFilterDetect::~SwFilterDetect()
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>();
}
SolarMutexGuard aGuard;
@@ -239,6 +242,10 @@ SwFilterDetect::~SwFilterDetect()
}
catch (const lang::WrappedTargetException& aWrap)
{
+ if (!bDeepDetection)
+ // Bail out early unless it's a deep detection.
+ return OUString();
+
packages::zip::ZipIOException aZipException;
// repairing is done only if this type is requested from outside