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

Derrick Rocha drocha616 at gmail.com
Sat Sep 12 23:25:45 PDT 2015


 sc/inc/conditio.hxx                          |    1 
 sc/inc/datauno.hxx                           |    2 -
 sc/inc/detdata.hxx                           |    2 -
 sc/inc/dispuno.hxx                           |    3 --
 sc/source/core/data/table3.cxx               |   39 +++++++++++++--------------
 sc/source/core/tool/detdata.cxx              |   12 ++++----
 sc/source/filter/inc/XclExpChangeTrack.hxx   |    6 +---
 sc/source/filter/xcl97/XclExpChangeTrack.cxx |   30 ++++++++++----------
 sc/source/ui/undo/undocell.cxx               |    2 -
 sc/source/ui/unoobj/datauno.cxx              |    4 --
 sc/source/ui/unoobj/dispuno.cxx              |    4 --
 11 files changed, 48 insertions(+), 57 deletions(-)

New commits:
commit 927447356fb7025d2b61073f525adc24643c7925
Author: Derrick Rocha <drocha616 at gmail.com>
Date:   Sat Sep 12 16:49:29 2015 -0600

    replace boost::ptr_container with std::container<std::unique_ptr>
    
    Change-Id: I8fd1121577c6443f9100b181402083d1b7c30b6b
    Reviewed-on: https://gerrit.libreoffice.org/18525
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Noel Grandin <noelgrandin at gmail.com>

diff --git a/sc/inc/conditio.hxx b/sc/inc/conditio.hxx
index 9b13c08..5893585 100644
--- a/sc/inc/conditio.hxx
+++ b/sc/inc/conditio.hxx
@@ -35,7 +35,6 @@
 #include <set>
 
 #include <boost/noncopyable.hpp>
-#include <boost/ptr_container/ptr_vector.hpp>
 #include <boost/scoped_ptr.hpp>
 
 class ScFormulaCell;
diff --git a/sc/inc/datauno.hxx b/sc/inc/datauno.hxx
index 8fa2c09..72c69e2 100644
--- a/sc/inc/datauno.hxx
+++ b/sc/inc/datauno.hxx
@@ -59,7 +59,7 @@ struct ScSortParam;
 
 typedef ::com::sun::star::uno::Reference<
             ::com::sun::star::util::XRefreshListener > XDBRefreshListenerRef;
-typedef boost::ptr_vector<XDBRefreshListenerRef> XDBRefreshListenerArr_Impl;
+typedef std::vector<XDBRefreshListenerRef> XDBRefreshListenerArr_Impl;
 
 class ScDataUnoConversion
 {
diff --git a/sc/inc/detdata.hxx b/sc/inc/detdata.hxx
index 110f4a1..ab7fb71 100644
--- a/sc/inc/detdata.hxx
+++ b/sc/inc/detdata.hxx
@@ -56,7 +56,7 @@ public:
 
 //  list of operators
 
-typedef boost::ptr_vector<ScDetOpData> ScDetOpDataVector;
+typedef std::vector<std::unique_ptr<ScDetOpData>> ScDetOpDataVector;
 
 class ScDetOpList
 {
diff --git a/sc/inc/dispuno.hxx b/sc/inc/dispuno.hxx
index 9638ed5..3b57717 100644
--- a/sc/inc/dispuno.hxx
+++ b/sc/inc/dispuno.hxx
@@ -25,7 +25,6 @@
 #include <cppuhelper/implbase.hxx>
 #include <svl/lstner.hxx>
 #include "global.hxx"
-#include <boost/ptr_container/ptr_vector.hpp>
 
 namespace com { namespace sun { namespace star { namespace frame {
     class XDispatchProviderInterception;
@@ -35,7 +34,7 @@ class ScTabViewShell;
 
 typedef ::com::sun::star::uno::Reference<
             ::com::sun::star::frame::XStatusListener > XStatusListenerRef;
-typedef boost::ptr_vector<XStatusListenerRef> XStatusListenerArr_Impl;
+typedef std::vector<XStatusListenerRef> XStatusListenerArr_Impl;
 
 class ScDispatchProviderInterceptor : public cppu::WeakImplHelper<
                                         com::sun::star::frame::XDispatchProviderInterceptor,
diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index 0b292e6..9775e14a 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -73,7 +73,6 @@
 #include <boost/scoped_ptr.hpp>
 #include <memory>
 #include <boost/noncopyable.hpp>
-#include <boost/ptr_container/ptr_vector.hpp>
 #include <mdds/flat_segment_tree.hpp>
 
 using namespace ::com::sun::star;
@@ -708,7 +707,7 @@ public:
 };
 
 void fillSortedColumnArray(
-    boost::ptr_vector<SortedColumn>& rSortedCols,
+    std::vector<std::unique_ptr<SortedColumn>>& rSortedCols,
     SortedRowFlags& rRowFlags,
     std::vector<SvtListener*>& rCellListeners,
     ScSortInfoArray* pArray, SCTAB nTab, SCCOL nCol1, SCCOL nCol2, ScProgress* pProgress )
@@ -717,7 +716,7 @@ void fillSortedColumnArray(
     ScSortInfoArray::RowsType* pRows = pArray->GetDataRows();
 
     size_t nColCount = nCol2 - nCol1 + 1;
-    boost::ptr_vector<SortedColumn> aSortedCols; // storage for copied cells.
+    std::vector<std::unique_ptr<SortedColumn>> aSortedCols; // storage for copied cells.
     SortedRowFlags aRowFlags;
     aSortedCols.reserve(nColCount);
     for (size_t i = 0; i < nColCount; ++i)
@@ -725,7 +724,7 @@ void fillSortedColumnArray(
         // In the sorted column container, element positions and row
         // positions must match, else formula cells may mis-behave during
         // grouping.
-        aSortedCols.push_back(new SortedColumn(nRow1));
+        aSortedCols.push_back(std::unique_ptr<SortedColumn>(new SortedColumn(nRow1)));
     }
 
     for (size_t i = 0; i < pRows->size(); ++i)
@@ -737,7 +736,7 @@ void fillSortedColumnArray(
 
             ScSortInfoArray::Cell& rCell = pRow->maCells[j];
 
-            sc::CellStoreType& rCellStore = aSortedCols.at(j).maCells;
+            sc::CellStoreType& rCellStore = aSortedCols.at(j).get()->maCells;
             switch (rCell.maCell.meType)
             {
                 case CELLTYPE_STRING:
@@ -786,7 +785,7 @@ void fillSortedColumnArray(
                     rCellStore.push_back_empty();
             }
 
-            sc::CellTextAttrStoreType& rAttrStore = aSortedCols.at(j).maCellTextAttrs;
+            sc::CellTextAttrStoreType& rAttrStore = aSortedCols.at(j).get()->maCellTextAttrs;
             if (rCell.mpAttr)
                 rAttrStore.push_back(*rCell.mpAttr);
             else
@@ -797,7 +796,7 @@ void fillSortedColumnArray(
                 // At this point each broadcaster instance is managed by 2
                 // containers. We will release those in the original storage
                 // below before transferring them to the document.
-                sc::BroadcasterStoreType& rBCStore = aSortedCols.at(j).maBroadcasters;
+                sc::BroadcasterStoreType& rBCStore = aSortedCols.at(j).get()->maBroadcasters;
                 if (rCell.mpBroadcaster)
                     // A const pointer would be implicitly converted to a bool type.
                     rBCStore.push_back(const_cast<SvtBroadcaster*>(rCell.mpBroadcaster));
@@ -806,14 +805,14 @@ void fillSortedColumnArray(
             }
 
             // The same with cell note instances ...
-            sc::CellNoteStoreType& rNoteStore = aSortedCols.at(j).maCellNotes;
+            sc::CellNoteStoreType& rNoteStore = aSortedCols.at(j).get()->maCellNotes;
             if (rCell.mpNote)
                 rNoteStore.push_back(const_cast<ScPostIt*>(rCell.mpNote));
             else
                 rNoteStore.push_back_empty();
 
             if (rCell.mpPattern)
-                aSortedCols.at(j).setPattern(aCellPos.Row(), rCell.mpPattern);
+                aSortedCols.at(j).get()->setPattern(aCellPos.Row(), rCell.mpPattern);
         }
 
         if (pArray->IsKeepQuery())
@@ -1091,7 +1090,7 @@ void ScTable::SortReorderByRow(
 
     // Cells in the data rows only reference values in the document. Make
     // a copy before updating the document.
-    boost::ptr_vector<SortedColumn> aSortedCols; // storage for copied cells.
+    std::vector<std::unique_ptr<SortedColumn>> aSortedCols; // storage for copied cells.
     SortedRowFlags aRowFlags;
     fillSortedColumnArray(aSortedCols, aRowFlags, aCellListeners, pArray, nTab, nCol1, nCol2, pProgress);
 
@@ -1101,18 +1100,18 @@ void ScTable::SortReorderByRow(
 
         {
             sc::CellStoreType& rDest = aCol[nThisCol].maCells;
-            sc::CellStoreType& rSrc = aSortedCols[i].maCells;
+            sc::CellStoreType& rSrc = aSortedCols[i].get()->maCells;
             rSrc.transfer(nRow1, nRow2, rDest, nRow1);
         }
 
         {
             sc::CellTextAttrStoreType& rDest = aCol[nThisCol].maCellTextAttrs;
-            sc::CellTextAttrStoreType& rSrc = aSortedCols[i].maCellTextAttrs;
+            sc::CellTextAttrStoreType& rSrc = aSortedCols[i].get()->maCellTextAttrs;
             rSrc.transfer(nRow1, nRow2, rDest, nRow1);
         }
 
         {
-            sc::CellNoteStoreType& rSrc = aSortedCols[i].maCellNotes;
+            sc::CellNoteStoreType& rSrc = aSortedCols[i].get()->maCellNotes;
             sc::CellNoteStoreType& rDest = aCol[nThisCol].maCellNotes;
 
             // Do the same as broadcaster storage transfer (to prevent double deletion).
@@ -1125,7 +1124,7 @@ void ScTable::SortReorderByRow(
             // Get all row spans where the pattern is not NULL.
             std::vector<PatternSpan> aSpans =
                 sc::toSpanArrayWithValue<SCROW,const ScPatternAttr*,PatternSpan>(
-                    aSortedCols[i].maPatterns);
+                    aSortedCols[i].get()->maPatterns);
 
             std::vector<PatternSpan>::iterator it = aSpans.begin(), itEnd = aSpans.end();
             for (; it != itEnd; ++it)
@@ -1276,7 +1275,7 @@ void ScTable::SortReorderByRowRefUpdate(
 
     // Cells in the data rows only reference values in the document. Make
     // a copy before updating the document.
-    boost::ptr_vector<SortedColumn> aSortedCols; // storage for copied cells.
+    std::vector<std::unique_ptr<SortedColumn>> aSortedCols; // storage for copied cells.
     SortedRowFlags aRowFlags;
     std::vector<SvtListener*> aListenersDummy;
     fillSortedColumnArray(aSortedCols, aRowFlags, aListenersDummy, pArray, nTab, nCol1, nCol2, pProgress);
@@ -1287,18 +1286,18 @@ void ScTable::SortReorderByRowRefUpdate(
 
         {
             sc::CellStoreType& rDest = aCol[nThisCol].maCells;
-            sc::CellStoreType& rSrc = aSortedCols[i].maCells;
+            sc::CellStoreType& rSrc = aSortedCols[i].get()->maCells;
             rSrc.transfer(nRow1, nRow2, rDest, nRow1);
         }
 
         {
             sc::CellTextAttrStoreType& rDest = aCol[nThisCol].maCellTextAttrs;
-            sc::CellTextAttrStoreType& rSrc = aSortedCols[i].maCellTextAttrs;
+            sc::CellTextAttrStoreType& rSrc = aSortedCols[i].get()->maCellTextAttrs;
             rSrc.transfer(nRow1, nRow2, rDest, nRow1);
         }
 
         {
-            sc::BroadcasterStoreType& rSrc = aSortedCols[i].maBroadcasters;
+            sc::BroadcasterStoreType& rSrc = aSortedCols[i].get()->maBroadcasters;
             sc::BroadcasterStoreType& rDest = aCol[nThisCol].maBroadcasters;
 
             // Release current broadcasters first, to prevent them from getting deleted.
@@ -1309,7 +1308,7 @@ void ScTable::SortReorderByRowRefUpdate(
         }
 
         {
-            sc::CellNoteStoreType& rSrc = aSortedCols[i].maCellNotes;
+            sc::CellNoteStoreType& rSrc = aSortedCols[i].get()->maCellNotes;
             sc::CellNoteStoreType& rDest = aCol[nThisCol].maCellNotes;
 
             // Do the same as broadcaster storage transfer (to prevent double deletion).
@@ -1322,7 +1321,7 @@ void ScTable::SortReorderByRowRefUpdate(
             // Get all row spans where the pattern is not NULL.
             std::vector<PatternSpan> aSpans =
                 sc::toSpanArrayWithValue<SCROW,const ScPatternAttr*,PatternSpan>(
-                    aSortedCols[i].maPatterns);
+                    aSortedCols[i].get()->maPatterns);
 
             std::vector<PatternSpan>::iterator it = aSpans.begin(), itEnd = aSpans.end();
             for (; it != itEnd; ++it)
diff --git a/sc/source/core/tool/detdata.cxx b/sc/source/core/tool/detdata.cxx
index 3cdd043..b2671db 100644
--- a/sc/source/core/tool/detdata.cxx
+++ b/sc/source/core/tool/detdata.cxx
@@ -27,7 +27,7 @@ ScDetOpList::ScDetOpList(const ScDetOpList& rList) :
     size_t nCount = rList.Count();
 
     for (size_t i=0; i<nCount; i++)
-        Append( new ScDetOpData(rList.aDetOpDataVector[i]) );
+        Append( new ScDetOpData( (*rList.aDetOpDataVector[i].get()) ) );
 }
 
 void ScDetOpList::DeleteOnTab( SCTAB nTab )
@@ -35,7 +35,7 @@ void ScDetOpList::DeleteOnTab( SCTAB nTab )
     for (ScDetOpDataVector::iterator it = aDetOpDataVector.begin(); it != aDetOpDataVector.end(); /*noop*/ )
     {
         // look for operations on the deleted sheet
-        if (it->GetPos().Tab() == nTab)
+        if ((*it)->GetPos().Tab() == nTab)
             it = aDetOpDataVector.erase( it);
         else
             ++it;
@@ -47,7 +47,7 @@ void ScDetOpList::UpdateReference( ScDocument* pDoc, UpdateRefMode eUpdateRefMod
 {
     for (ScDetOpDataVector::iterator it = aDetOpDataVector.begin(); it != aDetOpDataVector.end(); ++it )
     {
-        ScAddress aPos = it->GetPos();
+        ScAddress aPos = (*it)->GetPos();
         SCCOL nCol1 = aPos.Col();
         SCROW nRow1 = aPos.Row();
         SCTAB nTab1 = aPos.Tab();
@@ -61,7 +61,7 @@ void ScDetOpList::UpdateReference( ScDocument* pDoc, UpdateRefMode eUpdateRefMod
                 rRange.aEnd.Col(), rRange.aEnd.Row(), rRange.aEnd.Tab(), nDx, nDy, nDz,
                 nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
         if ( eRes != UR_NOTHING )
-            it->SetPos( ScAddress( nCol1, nRow1, nTab1 ) );
+            (*it)->SetPos( ScAddress( nCol1, nRow1, nTab1 ) );
     }
 }
 
@@ -70,7 +70,7 @@ void ScDetOpList::Append( ScDetOpData* pDetOpData )
     if ( pDetOpData->GetOperation() == SCDETOP_ADDERROR )
         bHasAddError = true;
 
-    aDetOpDataVector.push_back( pDetOpData );
+    aDetOpDataVector.push_back( std::unique_ptr<ScDetOpData>(pDetOpData) );
 }
 
 bool ScDetOpList::operator==( const ScDetOpList& r ) const
@@ -88,7 +88,7 @@ bool ScDetOpList::operator==( const ScDetOpList& r ) const
 
 const ScDetOpData& ScDetOpList::GetObject( size_t nPos ) const
 {
-    return aDetOpDataVector[nPos];
+    return (*aDetOpDataVector[nPos].get());
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/inc/XclExpChangeTrack.hxx b/sc/source/filter/inc/XclExpChangeTrack.hxx
index cff08cf..0d28137 100644
--- a/sc/source/filter/inc/XclExpChangeTrack.hxx
+++ b/sc/source/filter/inc/XclExpChangeTrack.hxx
@@ -29,8 +29,6 @@
 #include "ftools.hxx"
 #include "excrecds.hxx"
 
-#include <boost/ptr_container/ptr_vector.hpp>
-
 class ExcXmlRecord : public ExcRecord
 {
 public:
@@ -590,8 +588,8 @@ public:
 
 class XclExpChangeTrack : protected XclExpRoot
 {
-    typedef boost::ptr_vector<ExcRecord> RecListType;
-    typedef boost::ptr_vector<XclExpChTrTabIdBuffer> TabIdBufferType;
+    typedef std::vector<std::unique_ptr<ExcRecord>> RecListType;
+    typedef std::vector<std::unique_ptr<XclExpChTrTabIdBuffer>> TabIdBufferType;
     RecListType maRecList;           // list of "Revision Log" stream records
     std::stack<XclExpChTrAction*> aActionStack;
     XclExpChTrTabIdBuffer*        pTabIdBuffer;
diff --git a/sc/source/filter/xcl97/XclExpChangeTrack.cxx b/sc/source/filter/xcl97/XclExpChangeTrack.cxx
index acd7fa2..6a7e67b 100644
--- a/sc/source/filter/xcl97/XclExpChangeTrack.cxx
+++ b/sc/source/filter/xcl97/XclExpChangeTrack.cxx
@@ -1425,7 +1425,7 @@ XclExpChangeTrack::XclExpChangeTrack( const XclExpRoot& rRoot ) :
         return;
 
     pTabIdBuffer = new XclExpChTrTabIdBuffer( GetTabInfo().GetXclTabCount() );
-    maBuffers.push_back( pTabIdBuffer );
+    maBuffers.push_back( std::unique_ptr<XclExpChTrTabIdBuffer>(pTabIdBuffer) );
 
     // calculate final table order (tab id list)
     const ScChangeAction* pScAction;
@@ -1453,9 +1453,9 @@ XclExpChangeTrack::XclExpChangeTrack( const XclExpRoot& rRoot ) :
     if (GetOutput() == EXC_OUTPUT_BINARY)
     {
         pHeader = new XclExpChTrHeader;
-        maRecList.push_back( pHeader );
-        maRecList.push_back( new XclExpChTr0x0195 );
-        maRecList.push_back( new XclExpChTr0x0194( *pTempChangeTrack ) );
+        maRecList.push_back( std::unique_ptr<ExcRecord>(pHeader) );
+        maRecList.push_back( std::unique_ptr<ExcRecord>( new XclExpChTr0x0195 ) );
+        maRecList.push_back( std::unique_ptr<ExcRecord>( new XclExpChTr0x0194( *pTempChangeTrack ) ) );
 
         OUString sLastUsername;
         DateTime aLastDateTime( DateTime::EMPTY );
@@ -1475,22 +1475,22 @@ XclExpChangeTrack::XclExpChangeTrack( const XclExpRoot& rRoot ) :
                 aLastDateTime = pAction->GetDateTime();
 
                 nLogNumber++;
-                maRecList.push_back( new XclExpChTrInfo(sLastUsername, aLastDateTime, aGUID) );
-                maRecList.push_back( new XclExpChTrTabId(pAction->GetTabIdBuffer()) );
+                maRecList.push_back( std::unique_ptr<ExcRecord>(new XclExpChTrInfo(sLastUsername, aLastDateTime, aGUID)) );
+                maRecList.push_back(  std::unique_ptr<ExcRecord>(new XclExpChTrTabId(pAction->GetTabIdBuffer())) );
                 pHeader->SetGUID( aGUID );
             }
             pAction->SetIndex( nIndex );
-            maRecList.push_back( pAction );
+            maRecList.push_back( std::unique_ptr<ExcRecord>(pAction) );
         }
 
         pHeader->SetGUID( aGUID );
         pHeader->SetCount( nIndex - 1 );
-        maRecList.push_back( new ExcEof );
+        maRecList.push_back(  std::unique_ptr<ExcRecord>(new ExcEof) );
     }
     else
     {
         XclExpXmlChTrHeaders* pHeaders = new XclExpXmlChTrHeaders;
-        maRecList.push_back(pHeaders);
+        maRecList.push_back( std::unique_ptr<ExcRecord>(pHeaders));
 
         OUString sLastUsername;
         DateTime aLastDateTime(DateTime::EMPTY);
@@ -1512,7 +1512,7 @@ XclExpChangeTrack::XclExpChangeTrack( const XclExpRoot& rRoot ) :
                 aLastDateTime = pAction->GetDateTime();
 
                 pCurHeader = new XclExpXmlChTrHeader(sLastUsername, aLastDateTime, aGUID, nLogNumber, pAction->GetTabIdBuffer());
-                maRecList.push_back(pCurHeader);
+                maRecList.push_back( std::unique_ptr<ExcRecord>(pCurHeader));
                 nLogNumber++;
                 pHeaders->SetGUID(aGUID);
             }
@@ -1521,7 +1521,7 @@ XclExpChangeTrack::XclExpChangeTrack( const XclExpRoot& rRoot ) :
         }
 
         pHeaders->SetGUID(aGUID);
-        maRecList.push_back(new EndXmlElement(XML_headers));
+        maRecList.push_back( std::unique_ptr<ExcRecord>(new EndXmlElement(XML_headers)));
     }
 }
 
@@ -1584,7 +1584,7 @@ void XclExpChangeTrack::PushActionRecord( const ScChangeAction& rAction )
             pXclAction = new XclExpChTrInsertTab( rAction, GetRoot(), *pTabIdBuffer );
             XclExpChTrTabIdBuffer* pNewBuffer = new XclExpChTrTabIdBuffer( *pTabIdBuffer );
             pNewBuffer->Remove();
-            maBuffers.push_back( pNewBuffer );
+            maBuffers.push_back( std::unique_ptr<XclExpChTrTabIdBuffer>(pNewBuffer) );
             pTabIdBuffer = pNewBuffer;
         }
         break;
@@ -1630,8 +1630,8 @@ void XclExpChangeTrack::Write()
             XclExpStream aXclStrm( *xSvStrm, GetRoot(), EXC_MAXRECSIZE_BIFF8 + 8 );
 
             RecListType::iterator pIter;
-            for (pIter = maRecList.begin(); pIter != maRecList.end(); ++pIter)
-                pIter->Save(aXclStrm);
+            for(pIter = maRecList.begin(); pIter != maRecList.end(); ++pIter)
+                (*pIter)->Save(aXclStrm);
 
             xSvStrm->Commit();
         }
@@ -1677,7 +1677,7 @@ void XclExpChangeTrack::WriteXml( XclExpXmlStream& rWorkbookStrm )
 
     RecListType::iterator pIter;
     for (pIter = maRecList.begin(); pIter != maRecList.end(); ++pIter)
-        pIter->SaveXml(rWorkbookStrm);
+        (*pIter)->SaveXml(rWorkbookStrm);
 
     rWorkbookStrm.PopStream();
 }
diff --git a/sc/source/ui/undo/undocell.cxx b/sc/source/ui/undo/undocell.cxx
index c69c308..0f26097 100644
--- a/sc/source/ui/undo/undocell.cxx
+++ b/sc/source/ui/undo/undocell.cxx
@@ -922,7 +922,7 @@ void ScUndoDetective::Undo()
         {
             ScDetOpDataVector& rVec = pList->GetDataVector();
             ScDetOpDataVector::iterator it = rVec.begin() + rVec.size() - 1;
-            if ( it->GetOperation() == (ScDetOpType) nAction && it->GetPos() == aPos )
+            if ( (*it)->GetOperation() == (ScDetOpType) nAction && (*it)->GetPos() == aPos )
                 rVec.erase( it);
             else
             {
diff --git a/sc/source/ui/unoobj/datauno.cxx b/sc/source/ui/unoobj/datauno.cxx
index 7bda638..2c98dc3 100644
--- a/sc/source/ui/unoobj/datauno.cxx
+++ b/sc/source/ui/unoobj/datauno.cxx
@@ -1933,9 +1933,7 @@ void SAL_CALL ScDatabaseRangeObj::addRefreshListener(
                                                 throw(uno::RuntimeException, std::exception)
 {
     SolarMutexGuard aGuard;
-    uno::Reference<util::XRefreshListener>* pObj =
-            new uno::Reference<util::XRefreshListener>( xListener );
-    aRefreshListeners.push_back( pObj );
+    aRefreshListeners.push_back( uno::Reference<util::XRefreshListener>( xListener ));
 
     //  hold one additional ref to keep this object alive as long as there are listeners
     if ( aRefreshListeners.size() == 1 )
diff --git a/sc/source/ui/unoobj/dispuno.cxx b/sc/source/ui/unoobj/dispuno.cxx
index b351694..c166330 100644
--- a/sc/source/ui/unoobj/dispuno.cxx
+++ b/sc/source/ui/unoobj/dispuno.cxx
@@ -281,9 +281,7 @@ void SAL_CALL ScDispatch::addStatusListener(
 
     if ( aURL.Complete.equalsAscii(cURLDocDataSource) )
     {
-        uno::Reference<frame::XStatusListener>* pObj =
-                new uno::Reference<frame::XStatusListener>( xListener );
-        aDataSourceListeners.push_back( pObj );
+        aDataSourceListeners.push_back( uno::Reference<frame::XStatusListener>( xListener ) );
 
         if (!bListeningToView)
         {


More information about the Libreoffice-commits mailing list