diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-05-27 13:52:36 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2015-06-18 11:19:45 +0200 |
commit | e336e2d2e521bd0758a927d82756c0437a7b9c82 (patch) | |
tree | 16b1396ea331752399b5214a7a948c739f3317fa /sc/source/core/data/formulacell.cxx | |
parent | 1616a4f6ed76f6527879a52ad389d5d9f24e2b4c (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.cxx | 8 |
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()) { |