sc/source/ui/docshell/docsh3.cxx |    3 +++
 1 file changed, 3 insertions(+)

New commits:
commit 2ffba480017a44522cb6c8946d75f6ad5f1c9026
Author:     Julien Nabet <serval2...@yahoo.fr>
AuthorDate: Mon Mar 4 13:21:06 2024 +0100
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Mon Mar 11 12:19:11 2024 +0100

    tdf#159373: band-aid for crash in: ScTable::HasAttrib
    
    band-aid because as Eike indicated in 
https://bugs.documentfoundation.org/show_bug.cgi?id=159373#c8
    "Question remains why this PostPaint() is called at all for an invalid 
range.."
    
    Change-Id: Ie44378119202addd8ddb46f0be4b0124be9fd48b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164354
    Tested-by: Jenkins
    Reviewed-by: Julien Nabet <serval2...@yahoo.fr>
    Signed-off-by: Xisco Fauli <xiscofa...@libreoffice.org>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164644

diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx
index 96546d11a5fe..4634c5cbf191 100644
--- a/sc/source/ui/docshell/docsh3.cxx
+++ b/sc/source/ui/docshell/docsh3.cxx
@@ -118,6 +118,9 @@ void ScDocShell::PostPaint( const ScRangeList& rRanges, 
PaintPartFlags nPart, sa
         SCROW nRow1 = rRange.aStart.Row(), nRow2 = rRange.aEnd.Row();
         SCTAB nTab1 = rRange.aStart.Tab(), nTab2 = std::min<SCTAB>(nMaxTab, 
rRange.aEnd.Tab());
 
+        if (nTab1 < 0 || nTab2 < 0)
+            continue;
+
         if (!m_pDocument->ValidCol(nCol1)) nCol1 = m_pDocument->MaxCol();
         if (!m_pDocument->ValidRow(nRow1)) nRow1 = m_pDocument->MaxRow();
         if (!m_pDocument->ValidCol(nCol2)) nCol2 = m_pDocument->MaxCol();

Reply via email to