diff options
author | Noel Grandin <noel@peralex.com> | 2015-11-13 10:40:44 +0200 |
---|---|---|
committer | Noel Grandin <noel@peralex.com> | 2015-11-13 10:54:20 +0200 |
commit | f54a384f5ac16e969e8ecbf2821b89e0173c7403 (patch) | |
tree | 8e7e7d62e7a68b2968522366b6f1d66d1b29b507 /sc/source/filter/excel/xistyle.cxx | |
parent | 343ec4b7234f4eb9709f09d453131100d3283ddc (diff) |
Revert "sc: boost::ptr_vector->std::vector"
This reverts commit 9822ddf366459d31148a4ccbf0a49da4f726b3db.
something is storing a pointer to maXFIndex in XclImpXFRange
Change-Id: I2de7a311da2586351e2356b108f723c80f268245
Diffstat (limited to 'sc/source/filter/excel/xistyle.cxx')
-rw-r--r-- | sc/source/filter/excel/xistyle.cxx | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/sc/source/filter/excel/xistyle.cxx b/sc/source/filter/excel/xistyle.cxx index 603d294fa2ee..4ff74b58780e 100644 --- a/sc/source/filter/excel/xistyle.cxx +++ b/sc/source/filter/excel/xistyle.cxx @@ -1683,6 +1683,8 @@ ScStyleSheet* XclImpXFBuffer::CreateStyleSheet( sal_uInt16 nXFIndex ) // Buffer for XF indexes in cells ============================================= +IMPL_FIXEDMEMPOOL_NEWDEL( XclImpXFRange ) + bool XclImpXFRange::Expand( SCROW nScRow, const XclImpXFIndex& rXFIndex ) { if( maXFIndex != rXFIndex ) @@ -1720,7 +1722,7 @@ void XclImpXFRangeColumn::SetDefaultXF( const XclImpXFIndex& rXFIndex ) OSL_ENSURE( maIndexList.empty(), "XclImpXFRangeColumn::SetDefaultXF - Setting Default Column XF is not empty" ); // insert a complete row range with one insert. - maIndexList.push_back( XclImpXFRange( 0, MAXROW, rXFIndex ) ); + maIndexList.push_back( new XclImpXFRange( 0, MAXROW, rXFIndex ) ); } void XclImpXFRangeColumn::SetXF( SCROW nScRow, const XclImpXFIndex& rXFIndex ) @@ -1757,20 +1759,20 @@ void XclImpXFRangeColumn::SetXF( SCROW nScRow, const XclImpXFIndex& rXFIndex ) ++(pThisRange->mnScRow1); // try to concatenate with previous of this if( !pPrevRange || !pPrevRange->Expand( nScRow, rXFIndex ) ) - Insert( XclImpXFRange( nScRow, rXFIndex ), nIndex ); + Insert( new XclImpXFRange( nScRow, rXFIndex ), nIndex ); } else if( nLastScRow == nScRow ) // replace last XF { --(pThisRange->mnScRow2); if( !pNextRange || !pNextRange->Expand( nScRow, rXFIndex ) ) - Insert( XclImpXFRange( nScRow, rXFIndex ), nNextIndex ); + Insert( new XclImpXFRange( nScRow, rXFIndex ), nNextIndex ); } else // insert in the middle of the range { pThisRange->mnScRow1 = nScRow + 1; // List::Insert() moves entries towards end of list, so insert twice at nIndex - Insert( XclImpXFRange( nScRow, rXFIndex ), nIndex ); - Insert( XclImpXFRange( nFirstScRow, nScRow - 1, pThisRange->maXFIndex ), nIndex ); + Insert( new XclImpXFRange( nScRow, rXFIndex ), nIndex ); + Insert( new XclImpXFRange( nFirstScRow, nScRow - 1, pThisRange->maXFIndex ), nIndex ); } return; } @@ -1786,12 +1788,12 @@ void XclImpXFRangeColumn::SetXF( SCROW nScRow, const XclImpXFIndex& rXFIndex ) return; // create new range - Insert( XclImpXFRange( nScRow, rXFIndex ), nNextIndex ); + Insert( new XclImpXFRange( nScRow, rXFIndex ), nNextIndex ); } -void XclImpXFRangeColumn::Insert(const XclImpXFRange& rXFRange, sal_uLong nIndex) +void XclImpXFRangeColumn::Insert(XclImpXFRange* pXFRange, sal_uLong nIndex) { - maIndexList.insert( maIndexList.begin() + nIndex, rXFRange ); + maIndexList.insert( maIndexList.begin() + nIndex, pXFRange ); } void XclImpXFRangeColumn::Find( |