summaryrefslogtreecommitdiff
path: root/sc/source/core/data/documen2.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-06-24 11:41:37 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-06-25 08:28:49 +0200
commitc47d0174f2c6c3ebcb3b33276d0277e7aceac330 (patch)
tree8b616687715719ea44b64b3638f68ea024802b90 /sc/source/core/data/documen2.cxx
parent52800731baf9fcb88e54d60de5585640c8f97f7b (diff)
tdf#94677 Calc is slow opening large CSV, avoid reset SetUpdateMode
Avoid resetting SetUpdateMode in CreateFieldEditEngine while calculating row height. This takes the time from 1m25 to 49s for me. Change-Id: If406eac1a8b031f1734d9c2376c413dfa22d89f8 Reviewed-on: https://gerrit.libreoffice.org/74630 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sc/source/core/data/documen2.cxx')
-rw-r--r--sc/source/core/data/documen2.cxx5
1 files changed, 2 insertions, 3 deletions
diff --git a/sc/source/core/data/documen2.cxx b/sc/source/core/data/documen2.cxx
index b87d73a8da56..15d95a9f77b3 100644
--- a/sc/source/core/data/documen2.cxx
+++ b/sc/source/core/data/documen2.cxx
@@ -1091,7 +1091,7 @@ void ScDocument::SetChangeViewSettings(const ScChangeViewSettings& rNew)
*pChangeViewSettings=rNew;
}
-std::unique_ptr<ScFieldEditEngine> ScDocument::CreateFieldEditEngine()
+std::unique_ptr<ScFieldEditEngine> ScDocument::CreateFieldEditEngine(bool bUpdateMode)
{
std::unique_ptr<ScFieldEditEngine> pNewEditEngine;
if (!pCacheFieldEditEngine)
@@ -1105,8 +1105,7 @@ std::unique_ptr<ScFieldEditEngine> ScDocument::CreateFieldEditEngine()
{
// #i66209# previous use might not have restored update mode,
// ensure same state as for a new EditEngine (UpdateMode = true)
- if ( !pCacheFieldEditEngine->GetUpdateMode() )
- pCacheFieldEditEngine->SetUpdateMode(true);
+ pCacheFieldEditEngine->SetUpdateMode(bUpdateMode);
}
pNewEditEngine = std::move(pCacheFieldEditEngine);