[PATCH] Tentative fix to make JunitTest_sc_unopai work again

Stephan Bergmann (via Code Review) gerrit at gerrit.libreoffice.org
Fri Mar 15 01:44:49 PDT 2013


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/2740

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/40/2740/1

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
---
M sc/source/core/data/table5.cxx
1 file changed, 4 insertions(+), 0 deletions(-)



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 @@
             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 );

-- 
To view, visit https://gerrit.libreoffice.org/2740
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4cf6386f903e2681033bd63005141f71feb13ad7
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Stephan Bergmann <sbergman at redhat.com>



More information about the LibreOffice mailing list