[Libreoffice-commits] core.git: sc/qa sc/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Sat Feb 29 18:47:20 UTC 2020


 sc/qa/unit/data/xls/pass/ofz20904-1.xls |binary
 sc/source/core/data/dociter.cxx         |   11 +++++++----
 2 files changed, 7 insertions(+), 4 deletions(-)

New commits:
commit 8e3a29110c8ad739bedeea90932663608d8d3935
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Feb 27 09:17:11 2020 +0000
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Sat Feb 29 19:46:44 2020 +0100

    ofz#20904 check bounds
    
    Change-Id: I5d6d381ebd359b233b309e08131f3dda21310d80
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89620
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/qa/unit/data/xls/pass/ofz20904-1.xls b/sc/qa/unit/data/xls/pass/ofz20904-1.xls
new file mode 100644
index 000000000000..44dbe8f6e222
Binary files /dev/null and b/sc/qa/unit/data/xls/pass/ofz20904-1.xls differ
diff --git a/sc/source/core/data/dociter.cxx b/sc/source/core/data/dociter.cxx
index 2308a8477e20..bdbf1f2be63c 100644
--- a/sc/source/core/data/dociter.cxx
+++ b/sc/source/core/data/dociter.cxx
@@ -890,14 +890,17 @@ void ScCellIterator::init()
     if (maStartPos.Tab() > maEndPos.Tab())
         maStartPos.SetTab(maEndPos.Tab());
 
-    maCurPos = maStartPos;
-
-    if (!mpDoc->maTabs[maCurPos.Tab()])
+    if (!mpDoc->maTabs[maStartPos.Tab()])
     {
         assert(!"Table not found");
         maStartPos = ScAddress(mpDoc->MaxCol()+1, mpDoc->MaxRow()+1, MAXTAB+1); // -> Abort on GetFirst.
-        maCurPos = maStartPos;
     }
+    else
+    {
+        maStartPos.SetCol(mpDoc->maTabs[maStartPos.Tab()]->ClampToAllocatedColumns(maStartPos.Col()));
+    }
+
+    maCurPos = maStartPos;
 }
 
 bool ScCellIterator::getCurrent()


More information about the Libreoffice-commits mailing list