summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2010-01-05 14:12:48 +0100
committerJens-Heiner Rechtien <hr@openoffice.org>2010-01-05 14:12:48 +0100
commit145dce38af8630b3312e5e2065b32b681d32cc61 (patch)
tree3fdad1c5024242e08742d714e3836a3d6ba8f273
parenta3cb074800abce2e2623076d8397f84fa1cc12bb (diff)
parent8f575babf9a8e29305e158934261268dd80b351c (diff)
CWS-TOOLING: integrate CWS calc32stopper7_DEV300ooo/DEV300_m69
-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 14df8c236..af4a9297f 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(