summaryrefslogtreecommitdiff
path: root/sw/source
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source')
-rw-r--r--sw/source/filter/xml/xmlmeta.cxx7
1 files changed, 5 insertions, 2 deletions
diff --git a/sw/source/filter/xml/xmlmeta.cxx b/sw/source/filter/xml/xmlmeta.cxx
index 10079d9f64ef..423bb25805a1 100644
--- a/sw/source/filter/xml/xmlmeta.cxx
+++ b/sw/source/filter/xml/xmlmeta.cxx
@@ -143,6 +143,7 @@ void SwXMLImport::SetStatistics(
// and autostyles.
bool bSetFallback = true;
sal_Int32 nProgressReference = sal_Int32(); // silence C4701
+ const sal_Int32 nProgressReferenceWriggleRoom = 3 * PROGRESS_BAR_STEP;
if (nTokens & XML_TOK_META_STAT_PARA)
{
nProgressReference = static_cast<sal_Int32>(aDocStat.nPara);
@@ -150,10 +151,12 @@ void SwXMLImport::SetStatistics(
}
else if (nTokens & XML_TOK_META_STAT_PAGE)
bSetFallback = o3tl::checked_multiply<sal_Int32>(aDocStat.nPage, 10, nProgressReference);
+ if (!bSetFallback)
+ bSetFallback = o3tl::checked_add(nProgressReference, nProgressReferenceWriggleRoom, nProgressReference);
if (bSetFallback)
- nProgressReference = 250;
+ nProgressReference = 250 + nProgressReferenceWriggleRoom;
ProgressBarHelper* pProgress = GetProgressBarHelper();
- pProgress->SetReference( nProgressReference + 3*PROGRESS_BAR_STEP );
+ pProgress->SetReference(nProgressReference);
pProgress->SetValue( 0 );
}