sc/source/filter/oox/workbookfragment.cxx |    9 +++++++++
 1 file changed, 9 insertions(+)

New commits:
commit ff1588da212285122e4c4efdbfb723fe9c56caa8
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Tue Mar 3 09:23:30 2020 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Mon Mar 23 08:42:26 2020 +0100

    tdf#93831 xlsx file full of pictures of numbers slow to open
    
    Change-Id: I6c984c84c409519a986eacb265c943307a7b57af
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90245
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    (cherry picked from commit edf13fe1247e7ef411a9ff5435385573fad01f56)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90044
    (cherry picked from commit 6935465f9b56d99557ba627d845b9d1a2f2f2d07)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90815

diff --git a/sc/source/filter/oox/workbookfragment.cxx 
b/sc/source/filter/oox/workbookfragment.cxx
index 2f7eb767ec6f..49efb67e0568 100644
--- a/sc/source/filter/oox/workbookfragment.cxx
+++ b/sc/source/filter/oox/workbookfragment.cxx
@@ -50,6 +50,7 @@
 #include <biffhelper.hxx>
 
 #include <document.hxx>
+#include <drwlayer.hxx>
 #include <docsh.hxx>
 #include <calcconfig.hxx>
 #include <globstr.hrc>
@@ -344,6 +345,12 @@ void importSheetFragments( WorkbookFragment& 
rWorkbookHandler, SheetFragmentVect
 
 void WorkbookFragment::finalizeImport()
 {
+    // lock the model to prevent broadcasting, speeds up load a lot
+    getScDocument().InitDrawLayer();
+    auto pModel = getScDocument().GetDrawLayer();
+    bool bWasLocked = pModel->isLocked();
+    pModel->setLock(true);
+
     ISegmentProgressBarRef xGlobalSegment = getProgressBar().createSegment( 
PROGRESS_LENGTH_GLOBALS );
 
     // read the theme substream
@@ -505,6 +512,8 @@ void WorkbookFragment::finalizeImport()
 
     // attach macros to registered objects now that all objects have been 
created.
     getBaseFilter().getVbaProject().attachMacros();
+
+    pModel->setLock(bWasLocked);
 }
 
 namespace {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to