summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-04-25 11:23:41 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-04-30 13:10:39 -0400
commitec42c8b689f47a05aaf9d2dcbf77e6d412c32847 (patch)
tree1acb5ffd7a26427053b3f783a061641165de1e96 /sc
parent1b99bc2028a0160eadd688878f5ec2cca87543cc (diff)
We can't support all cases until we have real range-based dep tracking.
Note that an absolute reference may indirectly reference one of the cells in current formula group, and we aren't fully prepare for that use case yet. Change-Id: Ibd24a25b80963fe1235c2afb431ff7c7ceb27215
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/data/formulacell.cxx17
1 files changed, 16 insertions, 1 deletions
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx
index fe956f5e4c93..e73641d606b0 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -2948,9 +2948,24 @@ bool ScFormulaCell::InterpretFormulaGroup()
// import / insert / delete etc. and is integral to the data structures
pDocument->RebuildFormulaGroups();
- if( !xGroup.get() )
+ if (!xGroup || !pCode)
return false;
+ switch (pCode->GetVectorState())
+ {
+ case FormulaVectorEnabled:
+ // Good.
+ break;
+ case FormulaVectorCheckReference:
+ // To support this we would need a real range-based dependency
+ // tracking. We can't support this right now.
+ return false;
+ case FormulaVectorDisabled:
+ case FormulaVectorUnknown:
+ default:
+ return false;
+ }
+
// fprintf( stderr, "Interpret cell %d, %d\n", (int)aPos.Col(), (int)aPos.Row() );
if (xGroup->mbInvariant)