sc/source/core/data/document.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
New commits: commit 9c8aa1c217f016fae9a57c6a4feca43551e5068e Author: Katarina Behrens <katarina.behr...@cib.de> AuthorDate: Tue Apr 23 11:59:40 2019 +0200 Commit: Thorsten Behrens <thorsten.behr...@cib.de> CommitDate: Tue Apr 23 23:32:46 2019 +0200 Skip clipboard queries while the document is still loading Use-case here is .ods document with 16k tracked changes. For every tracked change, Calc generates a formula cell. For every formula cell, clipboard content is queried (via ScDocument::IsClipboardSource, ScModule::GetClipDoc respectively). This is dog-slow on Windows Therefore don't query clipboard content while the document is in the process of being loaded. Instead return from ScDocument:: IsClipboardSource early and return 'false' because at this point of time it can't be reliably determined whether this doc is a clipboard source anyway Change-Id: If5aa62cbfb62fb326a3c73b4d9be839127d3c03b Reviewed-on: https://gerrit.libreoffice.org/71121 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx index 9c1875869099..134e5998ef22 100644 --- a/sc/source/core/data/document.cxx +++ b/sc/source/core/data/document.cxx @@ -2570,7 +2570,8 @@ void ScDocument::SetClipParam(const ScClipParam& rParam) bool ScDocument::IsClipboardSource() const { - if (bIsClip || mpShell == nullptr) + if (bIsClip || mpShell == nullptr || + (mpShell && mpShell->IsLoading())) return false; ScDocument* pClipDoc = ScModule::GetClipDoc(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits