[Libreoffice-commits] core.git: Branch 'libreoffice-4-4-0' - sc/source

Eike Rathke erack at redhat.com
Wed Jan 21 07:29:30 PST 2015


 sc/source/core/data/conditio.cxx |    3 +++
 1 file changed, 3 insertions(+)

New commits:
commit 3a05b353f6d8a08536f324f46778d2a1356778e8
Author: Eike Rathke <erack at redhat.com>
Date:   Fri Jan 16 22:40:36 2015 +0100

    don't access empty range list, could be rhbz#1180312
    
    ScRangeList::DeleteArea() may remove an entire range, if it was the
    last range a subsequent call to ScConditionalFormat::DeleteArea() would
    attempt to access an invalid first element.
    
    Change-Id: I8d68c27963dc8561d61a94980093c271bd3aaffb
    (cherry picked from commit 9af8e14e67d354bb7736271a76a3dd8b6da78fd9)
    Reviewed-on: https://gerrit.libreoffice.org/13964
    Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx
index 794fb56..35a827f 100644
--- a/sc/source/core/data/conditio.cxx
+++ b/sc/source/core/data/conditio.cxx
@@ -2064,6 +2064,9 @@ void ScConditionalFormat::UpdateMoveTab( sc::RefUpdateMoveTabContext& rCxt )
 
 void ScConditionalFormat::DeleteArea( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 )
 {
+    if (maRanges.empty())
+        return;
+
     SCTAB nTab = maRanges[0]->aStart.Tab();
     maRanges.DeleteArea( nCol1, nRow1, nTab, nCol2, nRow2, nTab );
 }


More information about the Libreoffice-commits mailing list