diff options
Diffstat (limited to 'sc/source/core/data/grouptokenconverter.cxx')
-rw-r--r-- | sc/source/core/data/grouptokenconverter.cxx | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sc/source/core/data/grouptokenconverter.cxx b/sc/source/core/data/grouptokenconverter.cxx index 98ba8cdfa9b1..898c01675d56 100644 --- a/sc/source/core/data/grouptokenconverter.cxx +++ b/sc/source/core/data/grouptokenconverter.cxx @@ -165,6 +165,18 @@ bool ScGroupTokenConverter::convert( const ScTokenArray& rCode, sc::FormulaLogge break; case svDoubleRef: { + /* FIXME: this simply does not work, it doesn't know + * a) the context of implicit intersection, for which creating + two arrays dows not only result in huge unnecessary matrix + operations but also produces wrong results, e.g. =B:B/C:C + * b) when to keep a reference as a reference depending on the + expected parameter type, e.g. INDEX(), OFFSET() and + others (though that *may* be disabled by OpCode already). + * Until both are solved keep the reference. */ + mrGroupTokens.AddToken(*p); + break; + +#if 0 ScComplexRefData aRef = *p->GetDoubleRef(); ScRange aAbs = aRef.toAbs(mrPos); @@ -237,6 +249,7 @@ bool ScGroupTokenConverter::convert( const ScTokenArray& rCode, sc::FormulaLogge //ensure that backing storage exists for our lifetime mxFormulaGroupContext = mrDoc.GetFormulaGroupContext(); } +#endif } break; case svIndex: |