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

Stephan Bergmann sbergman at redhat.com
Fri Mar 15 04:13:04 PDT 2013


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

New commits:
commit 1edb06dd25ced48233194ad1aabd887709240fbc
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 15 09:40:15 2013 +0100

    Tentative fix to make JunitTest_sc_unopai work again
    
    ...which started to fail reproducibly at least for me with recent commits, with
    
    [...]
    > checking: [sc.ScCellRangeObj::com::sun::star::beans::XTolerantMultiPropertySet] is iface: [com.sun.star.beans.XTolerantMultiPropertySet] testcode: [ifc.beans._XTolerantMultiPropertySet]
    > LOG> Execute: setPropertyValuesTolerant()
    > LOG> starting required method: getPropertyValuesTolerant()
    > LOG> Execute: getPropertyValuesTolerant()
    > LOG> starting required method: getDirectPropertyValuesTolerant()
    > LOG> Execute: getDirectPropertyValuesTolerant()
    > Method getDirectPropertyValuesTolerant() finished with state OK
    > LOG> getDirectPropertyValuesTolerant(): PASSED.OK
    > Method getPropertyValuesTolerant() finished with state OK
    > LOG> getPropertyValuesTolerant(): PASSED.OK
    > ValueChanger don't know type class com.sun.star.table.TableBorder2
    > warn:legacy.osl:19841:96:sc/source/ui/unoobj/fmtuno.cxx:197: lclResolveGrammar - unspecified grammar, using GRAM_PODF_A1
    > warn:legacy.osl:19841:96:sc/source/ui/unoobj/fmtuno.cxx:197: lclResolveGrammar - unspecified grammar, using GRAM_PODF_A1
    
    causing a SIGSEGV at
    
    > #24 <signal handler called>
    > #25 0x00002aaacd9b310b in ScBaseCell::SetScriptType (this=0x0, nNew=8 '\b') at lo/core/sc/inc/cell.hxx:104
    > #26 0x00002aaacdc86a9f in ScTable::InvalidateTextWidth (this=0x2aaad80d9e00, pAdrFrom=0x2aaacd16ac00, pAdrTo=0x2aaacd16abf0, bNumFormatChanged=true, bBroadcast=false) at lo/core/sc/source/core/data/table5.cxx:1200
    > #27 0x00002aaacdabb18a in ScDocument::InvalidateTextWidth (this=0x2aaad88a19f8, pAdrFrom=0x2aaacd16ac00, pAdrTo=0x2aaacd16abf0, bNumFormatChanged=true) at lo/core/sc/source/core/data/documen8.cxx:440
    > #28 0x00002aaacd982d94 in ScAttrArray::ApplyCacheArea (this=0x2aaad81d5380, nStartRow=0, nEndRow=4, pCache=0x2aaacd16ac70, pDataArray=0x0) at lo/core/sc/source/core/data/attarray.cxx:825
    > #29 0x00002aaacd9cdaa2 in ScColumn::ApplyPatternArea (this=0x2aaad80d9e00, nStartRow=0, nEndRow=4, rPatAttr=..., pDataArray=0x0) at lo/core/sc/source/core/data/column.cxx:450
    > #30 0x00002aaacdc638cf in ScTable::ApplyPatternArea (this=0x2aaad80d9e00, nStartCol=0, nStartRow=0, nEndCol=3, nEndRow=4, rAttr=..., pDataArray=0x0) at lo/core/sc/source/core/data/table2.cxx:2174
    > #31 0x00002aaacdad93ce in ScDocument::ApplyPatternArea (this=0x2aaad88a19f8, nStartCol=0, nStartRow=0, nEndCol=3, nEndRow=4, rMark=..., rAttr=..., pDataArray=0x0) at lo/core/sc/source/core/data/document.cxx:4204
    > #32 0x00002aaacdaddeef in ScDocument::ApplySelectionPattern (this=0x2aaad88a19f8, rAttr=..., rMark=..., pDataArray=0x0) at lo/core/sc/source/core/data/document.cxx:5232
    > #33 0x00002aaace0c46ab in ScDocFunc::ApplyAttributes (this=0x2aaad8910f70, rMark=..., rPattern=..., bRecord=1 '\001', bApi=1 '\001') at lo/core/sc/source/ui/docshell/docfunc.cxx:1267
    > #34 0x00002aaace268e02 in ScCellRangesBase::setPropertyValuesTolerant (this=0x2aaafa235fb0, aPropertyNames=uno::Sequence of length 97 = {...}, aValues=uno::Sequence of length 97 = {...}) at lo/core/sc/source/ui/unoobj/cellsuno.cxx:2933
    > #35 0x00002aaabc674df6 in gcc3::callVirtualMethod (pThis=0x2aaafa236018, nVtableIndex=3, pRegisterReturn=0x2aaad8b94820, pReturnTypeRef=0x2aab601513a0, bSimpleReturn=false, pStack=0x2aaacd16b240, nStack=0, pGPR=0x2aaacd16b2c0, nGPR=4, pFPR=0x2aaacd16b2f0, nFPR=0) at lo/core/bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:119
    
    Change-Id: I4cf6386f903e2681033bd63005141f71feb13ad7
    Reviewed-on: https://gerrit.libreoffice.org/2740
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>

diff --git a/sc/source/core/data/table5.cxx b/sc/source/core/data/table5.cxx
index 1525371..264bba8 100644
--- a/sc/source/core/data/table5.cxx
+++ b/sc/source/core/data/table5.cxx
@@ -1195,6 +1195,10 @@ void ScTable::InvalidateTextWidth( const ScAddress* pAdrFrom, const ScAddress* p
             SCROW nRow = aIter.getPos();
             aIter.setValue(TEXTWIDTH_DIRTY);
             ScBaseCell* pCell = aCol[nCol].GetCell(nRow);
+            if (pCell == 0)
+            {
+                continue;
+            }
 
             if ( bNumFormatChanged )
                 pCell->SetScriptType( SC_SCRIPTTYPE_UNKNOWN );


More information about the Libreoffice-commits mailing list