diff options
-rw-r--r-- | sc/qa/unit/data/xls/fail/ofz5527-1.xls | bin | 0 -> 6657 bytes | |||
-rw-r--r-- | sc/source/filter/excel/xicontent.cxx | 4 |
2 files changed, 3 insertions, 1 deletions
diff --git a/sc/qa/unit/data/xls/fail/ofz5527-1.xls b/sc/qa/unit/data/xls/fail/ofz5527-1.xls Binary files differnew file mode 100644 index 000000000000..334cafe42445 --- /dev/null +++ b/sc/qa/unit/data/xls/fail/ofz5527-1.xls diff --git a/sc/source/filter/excel/xicontent.cxx b/sc/source/filter/excel/xicontent.cxx index 4db48555220a..3d0de0d1413c 100644 --- a/sc/source/filter/excel/xicontent.cxx +++ b/sc/source/filter/excel/xicontent.cxx @@ -678,6 +678,8 @@ void XclImpCondFormat::ReadCF( XclImpStream& rStrm ) // *** create the Calc conditional formatting *** + const ScAddress aPos(rPos); //in case maRanges.Join invalidates it + if( !mxScCondFmt.get() ) { mxScCondFmt.reset( new ScConditionalFormat( 0/*nKey*/, &GetDocRef() ) ); @@ -686,7 +688,7 @@ void XclImpCondFormat::ReadCF( XclImpStream& rStrm ) mxScCondFmt->SetRange(maRanges); } - ScCondFormatEntry* pEntry = new ScCondFormatEntry( eMode, xTokArr1.get(), pTokArr2.get(), &GetDocRef(), rPos, aStyleName ); + ScCondFormatEntry* pEntry = new ScCondFormatEntry(eMode, xTokArr1.get(), pTokArr2.get(), &GetDocRef(), aPos, aStyleName); mxScCondFmt->AddEntry( pEntry ); ++mnCondIndex; } |