summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2018-06-20 19:31:36 +0200
committerEike Rathke <erack@redhat.com>2018-06-20 23:28:11 +0200
commit00b3007976f60bdf65fbe69e3f4f1613b477a059 (patch)
tree2f928f32806aa6a98c5a94d37fa1c75f32df4705 /sc
parentb15244d526c285cd109f7195855409f698d0cdc0 (diff)
Avoid side effects of additional Interpret() during iteration
... which could alter results if this formula cell again depends on other formula cells in the circular reference(s). Change-Id: I2b56902a71c0f16f9777507402ea004ae609bfbc Reviewed-on: https://gerrit.libreoffice.org/56182 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/data/formulacell.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx
index 615dccfce416..661b0940eaf6 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -2598,6 +2598,11 @@ bool ScFormulaCell::IsMultilineResult()
bool ScFormulaCell::NeedsInterpret() const
{
+ if (bIsIterCell)
+ // Shortcut to force return of current value and not enter Interpret()
+ // as we're looping over all iteration cells.
+ return false;
+
if (!IsDirtyOrInTableOpDirty())
return false;