[Libreoffice-commits] core.git: sc/source sfx2/source
Takeshi Abe
tabe at fixedpoint.jp
Sun Mar 23 11:10:55 PDT 2014
sc/source/core/data/table3.cxx | 4 ++--
sc/source/core/tool/chartpos.cxx | 21 ++++++++++-----------
sc/source/core/tool/formulagroup.cxx | 6 +++---
sc/source/filter/html/htmlpars.cxx | 12 +++++-------
sc/source/filter/lotus/op.cxx | 25 +++++++++++--------------
sc/source/filter/qpro/qpro.cxx | 8 ++++----
sc/source/filter/starcalc/scflt.cxx | 9 +++++----
sc/source/ui/dbgui/tpsubt.cxx | 17 +++++++----------
sc/source/ui/docshell/docfunc.cxx | 7 ++++---
sc/source/ui/miscdlgs/crnrdlg.cxx | 12 +++++-------
sfx2/source/control/bindings.cxx | 8 ++++----
sfx2/source/doc/objcont.cxx | 4 ++--
12 files changed, 62 insertions(+), 71 deletions(-)
New commits:
commit f516cff220895391c861adf1f4e93e280e1c3a17
Author: Takeshi Abe <tabe at fixedpoint.jp>
Date: Mon Mar 24 03:09:23 2014 +0900
Avoid possible resource leaks by boost::scoped_array
Change-Id: I7b72c5680d5665b3f1f720f50a2d3ea6fc0c3e39
diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index f6fd9d3..7cbc9d7 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -60,6 +60,7 @@
#include "svl/sharedstringpool.hxx"
#include <vector>
+#include <boost/scoped_array.hpp>
#include <boost/unordered_set.hpp>
using namespace ::com::sun::star;
@@ -1971,7 +1972,7 @@ SCSIZE ScTable::Query(ScQueryParam& rParamOrg, bool bKeepSub)
bool ScTable::CreateExcelQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam)
{
bool bValid = true;
- SCCOL* pFields = new SCCOL[nCol2-nCol1+1];
+ boost::scoped_array<SCCOL> pFields(new SCCOL[nCol2-nCol1+1]);
OUString aCellStr;
SCCOL nCol = nCol1;
OSL_ENSURE( rQueryParam.nTab != SCTAB_MAX, "rQueryParam.nTab no value, not bad but no good" );
@@ -2044,7 +2045,6 @@ bool ScTable::CreateExcelQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow
rQueryParam.GetEntry(nIndex).eConnect = SC_OR;
}
}
- delete [] pFields;
return bValid;
}
diff --git a/sc/source/core/tool/chartpos.cxx b/sc/source/core/tool/chartpos.cxx
index e6d33f0..e73e7e0 100644
--- a/sc/source/core/tool/chartpos.cxx
+++ b/sc/source/core/tool/chartpos.cxx
@@ -20,6 +20,7 @@
#include "chartpos.hxx"
#include "document.hxx"
#include "rechead.hxx"
+#include <boost/scoped_array.hpp>
namespace
{
@@ -177,8 +178,8 @@ void ScChartPositioner::GlueState()
const sal_uInt8 nFree = 2;
const sal_uInt8 nGlue = 3;
sal_uInt8* p;
- sal_uInt8* pA = new sal_uInt8[ nCR ];
- memset( pA, 0, nCR * sizeof(sal_uInt8) );
+ boost::scoped_array<sal_uInt8> pA(new sal_uInt8[ nCR ]);
+ memset( pA.get(), 0, nCR * sizeof(sal_uInt8) );
SCCOL nCol, nCol1, nCol2;
SCROW nRow, nRow1, nRow2;
@@ -191,7 +192,7 @@ void ScChartPositioner::GlueState()
nRow2 = pR->aEnd.Row() - nStartRow;
for ( nCol = nCol1; nCol <= nCol2; nCol++ )
{
- p = pA + (sal_uLong)nCol * nR + nRow1;
+ p = pA.get() + (sal_uLong)nCol * nR + nRow1;
for ( nRow = nRow1; nRow <= nRow2; nRow++, p++ )
*p = nOccu;
}
@@ -201,7 +202,7 @@ void ScChartPositioner::GlueState()
sal_Bool bGlueCols = false;
for ( nCol = 0; bGlue && nCol < nC; nCol++ )
{ // iterate columns and try to mark as unused
- p = pA + (sal_uLong)nCol * nR;
+ p = pA.get() + (sal_uLong)nCol * nR;
for ( nRow = 0; bGlue && nRow < nR; nRow++, p++ )
{
if ( *p == nOccu )
@@ -216,7 +217,7 @@ void ScChartPositioner::GlueState()
else
*p = nFree;
}
- if ( bGlue && *(p = (pA + ((((sal_uLong)nCol+1) * nR) - 1))) == nFree )
+ if ( bGlue && *(p = (pA.get() + ((((sal_uLong)nCol+1) * nR) - 1))) == nFree )
{ // mark column as totally unused
*p = nGlue;
bGlueCols = sal_True; // one unused column at least
@@ -226,7 +227,7 @@ void ScChartPositioner::GlueState()
sal_Bool bGlueRows = false;
for ( nRow = 0; bGlue && nRow < nR; nRow++ )
{ // iterate rows and try to mark as unused
- p = pA + nRow;
+ p = pA.get() + nRow;
for ( nCol = 0; bGlue && nCol < nC; nCol++, p+=nR )
{
if ( *p == nOccu )
@@ -239,7 +240,7 @@ void ScChartPositioner::GlueState()
else
*p = nFree;
}
- if ( bGlue && *(p = (pA + ((((sal_uLong)nC-1) * nR) + nRow))) == nFree )
+ if ( bGlue && *(p = (pA.get() + ((((sal_uLong)nC-1) * nR) + nRow))) == nFree )
{ // mark row as totally unused
*p = nGlue;
bGlueRows = sal_True; // one unused row at least
@@ -247,7 +248,7 @@ void ScChartPositioner::GlueState()
}
// If n=1: The upper left corner could be automagically pulled in for labeling
- p = pA + 1;
+ p = pA.get() + 1;
for ( sal_uLong n = 1; bGlue && n < nCR; n++, p++ )
{ // An untouched field means we could neither reach it through rows nor columns,
// thus we can't combine anything
@@ -262,15 +263,13 @@ void ScChartPositioner::GlueState()
eGlue = SC_CHARTGLUE_ROWS;
else
eGlue = SC_CHARTGLUE_COLS;
- if ( *pA != nOccu )
+ if ( pA[0] != nOccu )
bDummyUpperLeft = true;
}
else
{
eGlue = SC_CHARTGLUE_NONE;
}
-
- delete [] pA;
}
void ScChartPositioner::CheckColRowHeaders()
diff --git a/sc/source/core/tool/formulagroup.cxx b/sc/source/core/tool/formulagroup.cxx
index fddc356..feadbc1 100644
--- a/sc/source/core/tool/formulagroup.cxx
+++ b/sc/source/core/tool/formulagroup.cxx
@@ -22,6 +22,7 @@
#include "rtl/bootstrap.hxx"
#include <vector>
+#include <boost/scoped_array.hpp>
#include <boost/unordered_map.hpp>
#define USE_DUMMY_INTERPRETER 0
@@ -490,11 +491,10 @@ public:
// Write simple data back into the sheet
if (meMode == WRITE_OUTPUT)
{
- double *pDoubles = new double[xGroup->mnLength];
+ boost::scoped_array<double> pDoubles(new double[xGroup->mnLength]);
for (sal_Int32 i = 0; i < xGroup->mnLength; i++)
pDoubles[i] = 42.0 + i;
- rDoc.SetFormulaResults(rTopPos, pDoubles, xGroup->mnLength);
- delete [] pDoubles;
+ rDoc.SetFormulaResults(rTopPos, pDoubles.get(), xGroup->mnLength);
}
return true;
}
diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx
index 0260292..fbcfbf5 100644
--- a/sc/source/filter/html/htmlpars.cxx
+++ b/sc/source/filter/html/htmlpars.cxx
@@ -64,6 +64,7 @@
#include <com/sun/star/document/XDocumentProperties.hpp>
#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
+#include <boost/scoped_array.hpp>
using ::editeng::SvxBorderLine;
using namespace ::com::sun::star;
@@ -713,10 +714,10 @@ void ScHTMLLayoutParser::SetWidths()
// Why actually no pE?
if ( nFirstTableCell < maList.size() )
{
- sal_uInt16* pOffsets = new sal_uInt16[ nColsPerRow+1 ];
- memset( pOffsets, 0, (nColsPerRow+1) * sizeof(sal_uInt16) );
- sal_uInt16* pWidths = new sal_uInt16[ nColsPerRow ];
- memset( pWidths, 0, nColsPerRow * sizeof(sal_uInt16) );
+ boost::scoped_array<sal_uInt16> pOffsets(new sal_uInt16[ nColsPerRow+1 ]);
+ memset( pOffsets.get(), 0, (nColsPerRow+1) * sizeof(sal_uInt16) );
+ boost::scoped_array<sal_uInt16> pWidths(new sal_uInt16[ nColsPerRow ]);
+ memset( pWidths.get(), 0, nColsPerRow * sizeof(sal_uInt16) );
pOffsets[0] = nColOffsetStart;
for ( size_t i = nFirstTableCell, nListSize = maList.size(); i < nListSize; ++i )
{
@@ -806,9 +807,6 @@ void ScHTMLLayoutParser::SetWidths()
}
}
}
-
- delete [] pWidths;
- delete [] pOffsets;
}
}
if ( !pLocalColOffset->empty() )
diff --git a/sc/source/filter/lotus/op.cxx b/sc/source/filter/lotus/op.cxx
index 062a7b2..baa9bcf 100644
--- a/sc/source/filter/lotus/op.cxx
+++ b/sc/source/filter/lotus/op.cxx
@@ -52,6 +52,7 @@
#include <vector>
#include <map>
+#include <boost/scoped_array.hpp>
extern WKTYP eTyp; // -> filter.cxx, aktueller Dateityp
extern sal_Bool bEOF; // -> filter.cxx, zeigt Dateiende an
@@ -126,8 +127,8 @@ void OP_Label( SvStream& r, sal_uInt16 n )
n -= (n > 5) ? 5 : n;
- sal_Char* pText = new sal_Char[n + 1];
- r.Read( pText, n );
+ boost::scoped_array<sal_Char> pText(new sal_Char[n + 1]);
+ r.Read( pText.get(), n );
pText[n] = 0;
if (ValidColRow( static_cast<SCCOL>(nCol), nRow))
@@ -135,12 +136,10 @@ void OP_Label( SvStream& r, sal_uInt16 n )
nFormat &= 0x80; // Bit 7 belassen
nFormat |= 0x75; // protected egal, special-text gesetzt
- PutFormString( static_cast<SCCOL> (nCol), static_cast<SCROW> (nRow), nTab, pText );
+ PutFormString( static_cast<SCCOL> (nCol), static_cast<SCROW> (nRow), nTab, pText.get() );
SetFormat( static_cast<SCCOL> (nCol), static_cast<SCROW> (nRow), nTab, nFormat, nDezStd );
}
-
- delete [] pText;
}
void OP_Formula( SvStream& r, sal_uInt16 /*n*/ )
@@ -354,13 +353,11 @@ void OP_Label123( SvStream& r, sal_uInt16 n )
r.ReadUInt16( nRow ).ReadUChar( nTab ).ReadUChar( nCol );
n -= (n > 4) ? 4 : n;
- sal_Char* pText = new sal_Char[n + 1];
- r.Read( pText, n );
+ boost::scoped_array<sal_Char> pText(new sal_Char[n + 1]);
+ r.Read( pText.get(), n );
pText[ n ] = 0;
- PutFormString( static_cast<SCCOL>(nCol), static_cast<SCROW>(nRow), static_cast<SCTAB>(nTab), pText );
-
- delete []pText;
+ PutFormString( static_cast<SCCOL>(nCol), static_cast<SCROW>(nRow), static_cast<SCTAB>(nTab), pText.get() );
}
void OP_Number123( SvStream& r, sal_uInt16 /*n*/ )
@@ -426,12 +423,12 @@ void OP_Note123( SvStream& r, sal_uInt16 n)
r.ReadUInt16( nRow ).ReadUChar( nTab ).ReadUChar( nCol );
n -= (n > 4) ? 4 : n;
- sal_Char* pText = new sal_Char[n + 1];
- r.Read( pText, n );
+ boost::scoped_array<sal_Char> pText(new sal_Char[n + 1]);
+ r.Read( pText.get(), n );
pText[ n ] = 0;
- OUString aNoteText(pText, strlen(pText), pLotusRoot->eCharsetQ);
- delete [] pText;
+ OUString aNoteText(pText.get(), strlen(pText.get()), pLotusRoot->eCharsetQ);
+ pText.reset();
ScAddress aPos( static_cast<SCCOL>(nCol), static_cast<SCROW>(nRow), static_cast<SCTAB>(nTab) );
ScNoteUtil::CreateNoteFromString( *pDoc, aPos, aNoteText, false, false );
diff --git a/sc/source/filter/qpro/qpro.cxx b/sc/source/filter/qpro/qpro.cxx
index 2e24dff..254a8db 100644
--- a/sc/source/filter/qpro/qpro.cxx
+++ b/sc/source/filter/qpro/qpro.cxx
@@ -35,6 +35,7 @@
#include "formulacell.hxx"
#include "biff.hxx"
#include <tools/stream.hxx>
+#include <boost/scoped_array.hpp>
FltError ScQProReader::readSheet( SCTAB nTab, ScDocument* pDoc, ScQProStyle *pStyle )
{
@@ -223,11 +224,10 @@ bool ScQProReader::nextRecord()
void ScQProReader::readString( OUString &rString, sal_uInt16 nLength )
{
- sal_Char* pText = new sal_Char[ nLength + 1 ];
- nLength = mpStream->Read(pText, nLength);
+ boost::scoped_array<sal_Char> pText(new sal_Char[ nLength + 1 ]);
+ nLength = mpStream->Read(pText.get(), nLength);
pText[ nLength ] = 0;
- rString = OUString( pText, strlen(pText), mpStream->GetStreamCharSet() );
- delete [] pText;
+ rString = OUString( pText.get(), strlen(pText.get()), mpStream->GetStreamCharSet() );
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/starcalc/scflt.cxx b/sc/source/filter/starcalc/scflt.cxx
index 91bcf02..da1043e 100644
--- a/sc/source/filter/starcalc/scflt.cxx
+++ b/sc/source/filter/starcalc/scflt.cxx
@@ -68,6 +68,7 @@
#include "tabprotection.hxx"
#include "fprogressbar.hxx"
+#include <boost/scoped_array.hpp>
using namespace com::sun::star;
@@ -1689,11 +1690,11 @@ void Sc10Import::LoadCol(SCCOL Col, SCTAB Tab)
rStream.ReadUInt16( NoteLen );
if (NoteLen != 0)
{
- sal_Char* pNote = new sal_Char[NoteLen+1];
- rStream.Read(pNote, NoteLen);
+ boost::scoped_array<sal_Char> pNote(new sal_Char[NoteLen+1]);
+ rStream.Read(pNote.get(), NoteLen);
pNote[NoteLen] = 0;
- OUString aNoteText( SC10TOSTRING(pNote));
- delete [] pNote;
+ OUString aNoteText( SC10TOSTRING(pNote.get()));
+ pNote.reset();
ScAddress aPos( Col, static_cast<SCROW>(Row), Tab );
ScNoteUtil::CreateNoteFromString( *pDoc, aPos, aNoteText, false, false );
}
diff --git a/sc/source/ui/dbgui/tpsubt.cxx b/sc/source/ui/dbgui/tpsubt.cxx
index a5fcd1b..85dc33b 100644
--- a/sc/source/ui/dbgui/tpsubt.cxx
+++ b/sc/source/ui/dbgui/tpsubt.cxx
@@ -30,7 +30,7 @@
#include "subtdlg.hxx"
#include "tpsubt.hxx"
-
+#include <boost/scoped_array.hpp>
// Subtotals group tabpage:
@@ -203,8 +203,8 @@ bool ScTpSubTotalGroup::DoFillItemSet( sal_uInt16 nGroupNo,
theSubTotalData = ((const ScSubTotalItem*)pItem)->GetSubTotalData();
}
- ScSubTotalFunc* pFunctions = NULL;
- SCCOL* pSubTotals = NULL;
+ boost::scoped_array<ScSubTotalFunc> pFunctions;
+ boost::scoped_array<SCCOL> pSubTotals;
sal_uInt16 nGroup = mpLbGroup->GetSelectEntryPos();
sal_uInt16 nEntryCount = (sal_uInt16)mpLbColumns->GetEntryCount();
sal_uInt16 nCheckCount = mpLbColumns->GetCheckedEntryCount();
@@ -222,8 +222,8 @@ bool ScTpSubTotalGroup::DoFillItemSet( sal_uInt16 nGroupNo,
{
sal_uInt16 nFunction = 0;
- pSubTotals = new SCCOL [nCheckCount];
- pFunctions = new ScSubTotalFunc [nCheckCount];
+ pSubTotals.reset(new SCCOL [nCheckCount]);
+ pFunctions.reset(new ScSubTotalFunc [nCheckCount]);
for ( sal_uInt16 i=0, nCheck=0; i<nEntryCount; i++ )
{
@@ -238,17 +238,14 @@ bool ScTpSubTotalGroup::DoFillItemSet( sal_uInt16 nGroupNo,
}
}
theSubTotalData.SetSubTotals( nGroupNo, // Gruppen-Nr.
- pSubTotals,
- pFunctions,
+ pSubTotals.get(),
+ pFunctions.get(),
nCheckCount ); // Anzahl der Array-Elemente
}
rArgSet.Put( ScSubTotalItem( SCITEM_SUBTDATA, &theSubTotalData ) );
- if ( pSubTotals ) delete [] pSubTotals;
- if ( pFunctions ) delete [] pFunctions;
-
return true;
}
diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx
index 182cf6c..e4b080b 100644
--- a/sc/source/ui/docshell/docfunc.cxx
+++ b/sc/source/ui/docshell/docfunc.cxx
@@ -87,6 +87,7 @@
#include <memory>
#include <basic/basmgr.hxx>
+#include <boost/scoped_array.hpp>
#include <boost/scoped_ptr.hpp>
#include <set>
#include <vector>
@@ -5131,7 +5132,7 @@ bool ScDocFunc::InsertNameList( const ScAddress& rStartPos, bool bApi )
pDoc->BeginDrawUndo(); // wegen Hoehenanpassung
}
- ScRangeData** ppSortArray = new ScRangeData* [ nValidCount ];
+ boost::scoped_array<ScRangeData*> ppSortArray(new ScRangeData* [ nValidCount ]);
sal_uInt16 j = 0;
for (ScRangeName::iterator itr = itrLocalBeg; itr != itrLocalEnd; ++itr)
{
@@ -5145,7 +5146,7 @@ bool ScDocFunc::InsertNameList( const ScAddress& rStartPos, bool bApi )
if (!r.HasType(RT_DATABASE) && !pLocalList->findByUpperName(itr->first))
ppSortArray[j++] = &r;
}
- qsort( (void*)ppSortArray, nValidCount, sizeof(ScRangeData*),
+ qsort( (void*)ppSortArray.get(), nValidCount, sizeof(ScRangeData*),
&ScRangeData_QsortNameCompare );
OUString aName;
OUStringBuffer aContent;
@@ -5165,7 +5166,7 @@ bool ScDocFunc::InsertNameList( const ScAddress& rStartPos, bool bApi )
++nOutRow;
}
- delete [] ppSortArray;
+ ppSortArray.reset();
if (bRecord)
{
diff --git a/sc/source/ui/miscdlgs/crnrdlg.cxx b/sc/source/ui/miscdlgs/crnrdlg.cxx
index 974063a..9353840 100644
--- a/sc/source/ui/miscdlgs/crnrdlg.cxx
+++ b/sc/source/ui/miscdlgs/crnrdlg.cxx
@@ -27,7 +27,7 @@
#include "crnrdlg.hxx"
#undef _CRNRDLG_CXX
#include <vcl/msgbox.hxx>
-
+#include <boost/scoped_array.hpp>
@@ -505,8 +505,8 @@ void ScColRowNameRangesDlg::UpdateNames()
pLbRange->SetEntryData( nPos, (void*)nEntryDataDelim );
if ( (nCount = xColNameRanges->size()) > 0 )
{
- ScRangePair** ppSortArray = xColNameRanges->CreateNameSortedArray(
- nCount, pDoc );
+ boost::scoped_array<ScRangePair*> ppSortArray(xColNameRanges->CreateNameSortedArray(
+ nCount, pDoc ));
for ( j=0; j < nCount; j++ )
{
const ScRange aRange(ppSortArray[j]->GetRange(0));
@@ -543,7 +543,6 @@ void ScColRowNameRangesDlg::UpdateNames()
aRangeMap.insert( NameRangeMap::value_type(aInsStr, aRange) );
pLbRange->SetEntryData( nPos, (void*)nEntryDataCol );
}
- delete [] ppSortArray;
}
aString = strDelim;
aString += ScGlobal::GetRscString( STR_ROW );
@@ -552,8 +551,8 @@ void ScColRowNameRangesDlg::UpdateNames()
pLbRange->SetEntryData( nPos, (void*)nEntryDataDelim );
if ( (nCount = xRowNameRanges->size()) > 0 )
{
- ScRangePair** ppSortArray = xRowNameRanges->CreateNameSortedArray(
- nCount, pDoc );
+ boost::scoped_array<ScRangePair*> ppSortArray(xRowNameRanges->CreateNameSortedArray(
+ nCount, pDoc ));
for ( j=0; j < nCount; j++ )
{
const ScRange aRange(ppSortArray[j]->GetRange(0));
@@ -588,7 +587,6 @@ void ScColRowNameRangesDlg::UpdateNames()
aRangeMap.insert( NameRangeMap::value_type(aInsStr, aRange) );
pLbRange->SetEntryData( nPos, (void*)nEntryDataRow );
}
- delete [] ppSortArray;
}
pLbRange->SetUpdateMode( true );
diff --git a/sfx2/source/control/bindings.cxx b/sfx2/source/control/bindings.cxx
index b1f3440..9954f9e 100644
--- a/sfx2/source/control/bindings.cxx
+++ b/sfx2/source/control/bindings.cxx
@@ -64,7 +64,7 @@
#include <sfx2/msgpool.hxx>
#include <com/sun/star/frame/XModuleManager.hpp>
-
+#include <boost/scoped_array.hpp>
#include <boost/scoped_ptr.hpp>
using namespace ::com::sun::star;
@@ -1451,7 +1451,7 @@ SfxItemSet* SfxBindings::CreateSet_Impl
}
// Create a Set from the ranges
- sal_uInt16 *pRanges = new sal_uInt16[rFound.size() * 2 + 1];
+ boost::scoped_array<sal_uInt16> pRanges(new sal_uInt16[rFound.size() * 2 + 1]);
int j = 0;
sal_uInt16 i = 0;
while ( i < rFound.size() )
@@ -1464,8 +1464,8 @@ SfxItemSet* SfxBindings::CreateSet_Impl
pRanges[j++] = rFound[i++]->nWhichId;
}
pRanges[j] = 0; // terminating NULL
- SfxItemSet *pSet = new SfxItemSet(rPool, pRanges);
- delete [] pRanges;
+ SfxItemSet *pSet = new SfxItemSet(rPool, pRanges.get());
+ pRanges.reset();
DBG_PROFSTOP(SfxBindingsCreateSet);
return pSet;
}
diff --git a/sfx2/source/doc/objcont.cxx b/sfx2/source/doc/objcont.cxx
index 547b252..6d927e5 100644
--- a/sfx2/source/doc/objcont.cxx
+++ b/sfx2/source/doc/objcont.cxx
@@ -74,6 +74,7 @@
#include <sfx2/request.hxx>
#include "openflag.hxx"
#include "querytemplate.hxx"
+#include <boost/scoped_array.hpp>
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
@@ -331,7 +332,7 @@ void SfxObjectShell::LoadStyles
SfxStyleSheetBasePool *pMyPool = GetStyleSheetPool();
DBG_ASSERT(pMyPool, "Dest-DocumentShell ohne StyleSheetPool");
pSourcePool->SetSearchMask(SFX_STYLE_FAMILY_ALL, SFXSTYLEBIT_ALL);
- Styles_Impl *pFound = new Styles_Impl[pSourcePool->Count()];
+ boost::scoped_array<Styles_Impl> pFound(new Styles_Impl[pSourcePool->Count()]);
sal_uInt16 nFound = 0;
SfxStyleSheetBase *pSource = pSourcePool->First();
@@ -359,7 +360,6 @@ void SfxObjectShell::LoadStyles
if(pFound[i].pSource->HasFollowSupport())
pFound[i].pDest->SetFollow(pFound[i].pSource->GetParent());
}
- delete [] pFound;
}
More information about the Libreoffice-commits
mailing list