sc/source/core/data/dociter.cxx |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit d613b9d473eedc46a9930f3db75c8ef7bb5d0985
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Thu Dec 14 16:46:55 2023 +0000
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Fri Dec 15 07:31:06 2023 +0100

    Related: cool#6893 ScFormulaGroupIterator::next creates columns
    
    that didn't exist before. Lots of time spent in ScColContainer::resize
    on getting document statistics.
    
    ScColContainer: :resize
    ScTable: :CreateColumnIfNotExistsImpl
    ScTable: :FetchColumn
    ScFormulaGroupIterator: :next
    ScDocument: :GetFormulaGroupCount
    ScDocument: :GetDocStat
    Change-Id: I52d4ab052e21215eb650bdccf4abc056ee2dd405
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160797
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/sc/source/core/data/dociter.cxx b/sc/source/core/data/dociter.cxx
index fd4fa7afe42f..29bac008a3e4 100644
--- a/sc/source/core/data/dociter.cxx
+++ b/sc/source/core/data/dociter.cxx
@@ -802,7 +802,7 @@ sc::FormulaGroupEntry* ScFormulaGroupIterator::next()
                     return nullptr;
             }
             ScTable *pTab = mrDoc.FetchTable(mnTab);
-            ScColumn *pCol = pTab ? pTab->FetchColumn(mnCol) : nullptr;
+            ScColumn *pCol = (pTab && pTab->IsColValid(mnCol)) ? 
pTab->FetchColumn(mnCol) : nullptr;
             if (pCol)
             {
                 mbNullCol = false;

Reply via email to