summaryrefslogtreecommitdiff
path: root/sc/source/core/data/formulacell.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-05-27 13:52:36 +0100
committerAndras Timar <andras.timar@collabora.com>2015-06-18 11:19:45 +0200
commite336e2d2e521bd0758a927d82756c0437a7b9c82 (patch)
tree16b1396ea331752399b5214a7a948c739f3317fa /sc/source/core/data/formulacell.cxx
parent1616a4f6ed76f6527879a52ad389d5d9f24e2b4c (diff)
Resolves: tdf#91416 setting progress -> resize -> destroy formula context
i.e. setting progress triggers ScTabView::DoResize and an InterpretVisible and InterpretDirtyCells which resets the mpFormulaGroupCxt that the current rCxt points to, which is bad, so disable progress for the duration of the GetResult loop Change-Id: I8e88cee4dd2308ef61dee934d300a38978833703 (cherry picked from commit e3c1a394a00cef416a81b89b6d5c204891abb286) Reviewed-on: https://gerrit.libreoffice.org/15926 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'sc/source/core/data/formulacell.cxx')
-rw-r--r--sc/source/core/data/formulacell.cxx8
1 files changed, 6 insertions, 2 deletions
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx
index 044c4a37b0f6..efa393a04c99 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -1937,8 +1937,12 @@ void ScFormulaCell::InterpretTail( ScInterpretTailParameter eTailParam )
}
// Reschedule slows the whole thing down considerably, thus only execute on percent change
- ScProgress::GetInterpretProgress()->SetStateCountDownOnPercent(
- pDocument->GetFormulaCodeInTree()/MIN_NO_CODES_PER_PROGRESS_UPDATE );
+ ScProgress *pProgress = ScProgress::GetInterpretProgress();
+ if (pProgress && pProgress->Enabled())
+ {
+ pProgress->SetStateCountDownOnPercent(
+ pDocument->GetFormulaCodeInTree()/MIN_NO_CODES_PER_PROGRESS_UPDATE );
+ }
switch (p->GetVolatileType())
{