summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2020-04-02 11:14:59 +0200
committerLuboš Luňák <l.lunak@collabora.com>2020-04-03 10:28:44 +0200
commit55220e7bc6576a7575c675ba425e757a3aefa243 (patch)
tree96c8a26c8d2c3b47b2e64ade7f44ab1430a0f72f
parent15984a6778f88982f135965a703c1e829fe8325c (diff)
use mdds position hint (tdf#131716)
Otherwise this is the usual case of possible quadratic mdds slowness. Change-Id: I5b33df65e127702c011517d79b9cd41a7e820ca0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91553 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
-rw-r--r--sc/source/ui/unoobj/chart2uno.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/sc/source/ui/unoobj/chart2uno.cxx b/sc/source/ui/unoobj/chart2uno.cxx
index 03787f78009b..47e39f038c68 100644
--- a/sc/source/ui/unoobj/chart2uno.cxx
+++ b/sc/source/ui/unoobj/chart2uno.cxx
@@ -42,6 +42,7 @@
#include <tokenarray.hxx>
#include <scmatrix.hxx>
#include <brdcst.hxx>
+#include <mtvelements.hxx>
#include <formula/opcode.hxx>
#include <o3tl/safeint.hxx>
@@ -2454,6 +2455,8 @@ void ScChart2DataSequence::BuildDataCache()
{
for (SCCOL nCol = aRange.aStart.Col(); nCol <= aRange.aEnd.Col(); ++nCol)
{
+ sc::ColumnBlockPosition hint;
+ m_pDocument->InitColumnBlockPosition( hint, nTab, nCol );
for (SCROW nRow = aRange.aStart.Row(); nRow <= aRange.aEnd.Row(); ++nRow)
{
bool bColHidden = m_pDocument->ColHidden(nCol, nTab, nullptr, &nLastCol);
@@ -2473,7 +2476,7 @@ void ScChart2DataSequence::BuildDataCache()
ScAddress aAdr(nCol, nRow, nTab);
aItem.maString = m_pDocument->GetString(aAdr);
- ScRefCellValue aCell(*m_pDocument, aAdr);
+ ScRefCellValue aCell(*m_pDocument, aAdr, hint);
switch (aCell.meType)
{
case CELLTYPE_VALUE: