summaryrefslogtreecommitdiff
path: root/sc/source/ui/view/gridwin4.cxx
diff options
context:
space:
mode:
authorTakeshi Abe <tabe@fixedpoint.jp>2014-05-14 14:52:56 +0900
committerTakeshi Abe <tabe@fixedpoint.jp>2014-05-14 15:09:55 +0900
commitdecfecc3d2414a6467bae6d5e9069fb63885e3fe (patch)
tree608a18ca59e97d5d136bf9d5d046541eed2f0907 /sc/source/ui/view/gridwin4.cxx
parent146f6e7e68ea56f79b72047b97bd9fba66db499d (diff)
Avoid possible memory leaks in case of exceptions
Change-Id: Ib74c40bb4ac11edf97b6843e983a911308fa4b98
Diffstat (limited to 'sc/source/ui/view/gridwin4.cxx')
-rw-r--r--sc/source/ui/view/gridwin4.cxx12
1 files changed, 5 insertions, 7 deletions
diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx
index 5405b898023e..2625a96376dc 100644
--- a/sc/source/ui/view/gridwin4.cxx
+++ b/sc/source/ui/view/gridwin4.cxx
@@ -917,7 +917,7 @@ void ScGridWindow::DrawPagePreview( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
}
Font aFont;
- ScEditEngineDefaulter* pEditEng = NULL;
+ boost::scoped_ptr<ScEditEngineDefaulter> pEditEng;
const ScPatternAttr& rDefPattern = ((const ScPatternAttr&)pDoc->GetPool()->GetDefaultItem(ATTR_PATTERN));
if ( nPageScript == SCRIPTTYPE_LATIN )
{
@@ -929,7 +929,7 @@ void ScGridWindow::DrawPagePreview( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
else
{
// use EditEngine to draw mixed-script string
- pEditEng = new ScEditEngineDefaulter( EditEngine::CreatePool(), true );
+ pEditEng.reset(new ScEditEngineDefaulter( EditEngine::CreatePool(), true ));
pEditEng->SetRefMapMode( pContentDev->GetMapMode() );
SfxItemSet* pEditDefaults = new SfxItemSet( pEditEng->GetEmptyItemSet() );
rDefPattern.FillEditItemSet( pEditDefaults );
@@ -1093,8 +1093,6 @@ void ScGridWindow::DrawPagePreview( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
}
}
}
-
- delete pEditEng;
}
}
@@ -1111,7 +1109,7 @@ void ScGridWindow::DrawButtons( SCCOL nX1, SCCOL nX2, ScTableInfo& rTabInfo, Out
SCSIZE nQuery;
SCTAB nTab = pViewData->GetTabNo();
ScDBData* pDBData = NULL;
- ScQueryParam* pQueryParam = NULL;
+ boost::scoped_ptr<ScQueryParam> pQueryParam;
RowInfo* pRowInfo = rTabInfo.mpRowInfo;
sal_uInt16 nArrCount = rTabInfo.mnArrCount;
@@ -1138,7 +1136,7 @@ void ScGridWindow::DrawButtons( SCCOL nX1, SCCOL nX2, ScTableInfo& rTabInfo, Out
if ( pInfo->bAutoFilter && !pInfo->bHOverlapped )
{
if (!pQueryParam)
- pQueryParam = new ScQueryParam;
+ pQueryParam.reset(new ScQueryParam);
bool bNewData = true;
if (pDBData)
@@ -1249,7 +1247,7 @@ void ScGridWindow::DrawButtons( SCCOL nX1, SCCOL nX2, ScTableInfo& rTabInfo, Out
}
}
- delete pQueryParam;
+ pQueryParam.reset();
aComboButton.SetOutputDevice( this );
}