summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2010-01-04 12:10:04 +0000
committerOliver Bolte <obo@openoffice.org>2010-01-04 12:10:04 +0000
commita9723cee98e94763dfb445fc99d619240ab5976a (patch)
tree23b4a691424310a30bb269d1587370057c22243c
parent29202bab9013e06da34b8f71c1372b8667460a89 (diff)
CWS-TOOLING: integrate CWS calc32stopper7
2009-12-17 18:28:31 +0100 er r277827 : #i107741# HasRefListExpressibleAsOneReference is supposed to detect one reference, really do so
-rw-r--r--sc/source/core/data/cell2.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/sc/source/core/data/cell2.cxx b/sc/source/core/data/cell2.cxx
index 5bcc5f540..5f0b95ccf 100644
--- a/sc/source/core/data/cell2.cxx
+++ b/sc/source/core/data/cell2.cxx
@@ -679,6 +679,14 @@ ScFormulaCell::HasRefListExpressibleAsOneReference(ScRange& rRange) const
Union of these references must form one range and their
intersection must be empty set.
*/
+
+ // Detect the simple case of exactly one reference in advance without all
+ // overhead.
+ // #i107741# Doing so actually makes outlines using SUBTOTAL(x;reference)
+ // work again, where the function does not have only references.
+ if (HasOneReference( rRange))
+ return true;
+
pCode->Reset();
// Get first reference, if any
ScToken* const pFirstReference(