[Libreoffice-commits] core.git: sc/source
Takeshi Abe
tabe at fixedpoint.jp
Sat May 10 09:38:54 PDT 2014
sc/source/ui/view/cellsh1.cxx | 49 ++++++++++++++----------------------------
sc/source/ui/view/pivotsh.cxx | 6 ++---
sc/source/ui/view/prevwsh.cxx | 6 ++---
3 files changed, 23 insertions(+), 38 deletions(-)
New commits:
commit e62a3e875ac3437c6b0d08fa6e7e1d0b97141a7b
Author: Takeshi Abe <tabe at fixedpoint.jp>
Date: Sun May 11 01:36:27 2014 +0900
Avoid possible memory leaks in case of exceptions
Change-Id: I9cafee23bbf016024393550166aefdc782b488cb
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index e53be77..3cccca4 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -205,11 +205,10 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- AbstractScInsertCellDlg* pDlg = pFact->CreateScInsertCellDlg( pTabViewShell->GetDialogParent(), RID_SCDLG_INSCELL, bTheFlag);
+ boost::scoped_ptr<AbstractScInsertCellDlg> pDlg(pFact->CreateScInsertCellDlg( pTabViewShell->GetDialogParent(), RID_SCDLG_INSCELL, bTheFlag));
OSL_ENSURE(pDlg, "Dialog create fail!");
if (pDlg->Execute() == RET_OK)
eCmd = pDlg->GetInsCellCmd();
- delete pDlg;
}
}
@@ -278,12 +277,11 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- AbstractScDeleteCellDlg* pDlg = pFact->CreateScDeleteCellDlg( pTabViewShell->GetDialogParent(), bTheFlag );
+ boost::scoped_ptr<AbstractScDeleteCellDlg> pDlg(pFact->CreateScDeleteCellDlg( pTabViewShell->GetDialogParent(), bTheFlag ));
OSL_ENSURE(pDlg, "Dialog create fail!");
if (pDlg->Execute() == RET_OK)
eCmd = pDlg->GetDelCellCmd();
- delete pDlg;
}
}
@@ -363,7 +361,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- AbstractScDeleteContentsDlg* pDlg = pFact->CreateScDeleteContentsDlg(pTabViewShell->GetDialogParent());
+ boost::scoped_ptr<AbstractScDeleteContentsDlg> pDlg(pFact->CreateScDeleteContentsDlg(pTabViewShell->GetDialogParent()));
OSL_ENSURE(pDlg, "Dialog create fail!");
ScDocument* pDoc = GetViewData()->GetDocument();
SCTAB nTab = GetViewData()->GetTabNo();
@@ -373,7 +371,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
{
nFlags = pDlg->GetDelContentsCmdBits();
}
- delete pDlg;
}
else
pTabViewShell->ErrorMessage(aTester.GetMessageId());
@@ -473,9 +470,9 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- AbstractScInsertContentsDlg* pDlg = pFact->CreateScInsertContentsDlg( pTabViewShell->GetDialogParent(),
+ boost::scoped_ptr<AbstractScInsertContentsDlg> pDlg(pFact->CreateScInsertContentsDlg( pTabViewShell->GetDialogParent(),
0, /* nCheckDefaults */
- &ScGlobal::GetRscString(STR_FILL_TAB));
+ &ScGlobal::GetRscString(STR_FILL_TAB)));
OSL_ENSURE(pDlg, "Dialog create fail!");
pDlg->SetFillMode(true);
@@ -487,7 +484,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
bAsLink = pDlg->IsLink();
// there is no MoveMode with fill tabs
}
- delete pDlg;
}
if( nFlags != IDF_NONE )
@@ -706,11 +702,11 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- AbstractScFillSeriesDlg* pDlg = pFact->CreateScFillSeriesDlg( pTabViewShell->GetDialogParent(),
+ boost::scoped_ptr<AbstractScFillSeriesDlg> pDlg(pFact->CreateScFillSeriesDlg( pTabViewShell->GetDialogParent(),
*pDoc,
eFillDir, eFillCmd, eFillDateCmd,
aStartStr, fIncVal, fMaxVal,
- nPossDir);
+ nPossDir));
OSL_ENSURE(pDlg, "Dialog create fail!");
if ( nStartCol != nEndCol && nStartRow != nEndRow )
@@ -735,7 +731,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
fMaxVal = pDlg->GetMax();
bDoIt = true;
}
- delete pDlg;
}
if( bDoIt )
@@ -1123,13 +1118,12 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- AbstractScGroupDlg* pDlg = pFact->CreateAbstractScGroupDlg(pTabViewShell->GetDialogParent(), false);
+ boost::scoped_ptr<AbstractScGroupDlg> pDlg(pFact->CreateAbstractScGroupDlg(pTabViewShell->GetDialogParent(), false));
OSL_ENSURE(pDlg, "Dialog create fail!");
if ( pDlg->Execute() == RET_OK )
bColumns = pDlg->GetColsChecked();
else
bOk = false;
- delete pDlg;
}
}
if (bOk)
@@ -1183,13 +1177,12 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- AbstractScGroupDlg* pDlg = pFact->CreateAbstractScGroupDlg(pTabViewShell->GetDialogParent(), true);
+ boost::scoped_ptr<AbstractScGroupDlg> pDlg(pFact->CreateAbstractScGroupDlg(pTabViewShell->GetDialogParent(), true));
OSL_ENSURE(pDlg, "Dialog create fail!");
if ( pDlg->Execute() == RET_OK )
bColumns = pDlg->GetColsChecked();
else
bOk = false;
- delete pDlg;
}
else if ( bColPoss )
bColumns = true;
@@ -1348,7 +1341,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- AbstractScInsertContentsDlg* pDlg = pFact->CreateScInsertContentsDlg(pTabViewShell->GetDialogParent());
+ boost::scoped_ptr<AbstractScInsertContentsDlg> pDlg(pFact->CreateScInsertContentsDlg(pTabViewShell->GetDialogParent()));
OSL_ENSURE(pDlg, "Dialog create fail!");
pDlg->SetOtherDoc( bOtherDoc );
// if ChangeTrack MoveMode disable
@@ -1422,7 +1415,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
bAsLink = pDlg->IsLink();
eMoveMode = pDlg->GetMoveMode();
}
- delete pDlg;
}
else
pTabViewShell->ErrorMessage(aTester.GetMessageId());
@@ -1549,7 +1541,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
if ( nFormatCount )
{
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
- SfxAbstractPasteDialog* pDlg = pFact->CreatePasteDialog( pTabViewShell->GetDialogParent() );
+ boost::scoped_ptr<SfxAbstractPasteDialog> pDlg(pFact->CreatePasteDialog( pTabViewShell->GetDialogParent() ));
if ( pDlg )
{
for (sal_uInt16 i=0; i<nFormatCount; i++)
@@ -1583,8 +1575,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
rReq.SetReturnValue(SfxInt16Item(nSlot, 0)); // 0 = fail
rReq.Ignore();
}
-
- delete pDlg;
}
}
else
@@ -1782,7 +1772,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- AbstractScNameCreateDlg* pDlg = pFact->CreateScNameCreateDlg(pTabViewShell->GetDialogParent(), nFlags);
+ boost::scoped_ptr<AbstractScNameCreateDlg> pDlg(pFact->CreateScNameCreateDlg(pTabViewShell->GetDialogParent(), nFlags));
OSL_ENSURE(pDlg, "Dialog create fail!");
if( pDlg->Execute() )
@@ -1791,7 +1781,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
pTabViewShell->CreateNames(nFlags);
rReq.Done();
}
- delete pDlg;
}
break;
@@ -2089,7 +2078,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- AbstractScNamePasteDlg* pDlg = pFact->CreateScNamePasteDlg( pTabViewShell->GetDialogParent(), GetViewData()->GetDocShell() );
+ boost::scoped_ptr<AbstractScNamePasteDlg> pDlg(pFact->CreateScNamePasteDlg( pTabViewShell->GetDialogParent(), GetViewData()->GetDocShell() ));
OSL_ENSURE(pDlg, "Dialog create fail!");
switch( pDlg->Execute() )
{
@@ -2119,7 +2108,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
}
break;
}
- delete pDlg;
}
break;
@@ -2294,8 +2282,8 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
aSet.Put( SfxBoolItem( FN_PARAM_1, false ) );
aSet.Put( SvxFontItem( aCurFont.GetFamily(), aCurFont.GetName(), aCurFont.GetStyleName(), aCurFont.GetPitch(), aCurFont.GetCharSet(), GetPool().GetWhich(SID_ATTR_CHAR_FONT) ) );
- SfxAbstractDialog* pDlg = pFact->CreateSfxDialog( pTabViewShell->GetDialogParent(), aSet,
- pTabViewShell->GetViewFrame()->GetFrame().GetFrameInterface(), RID_SVXDLG_CHARMAP );
+ boost::scoped_ptr<SfxAbstractDialog> pDlg(pFact->CreateSfxDialog( pTabViewShell->GetDialogParent(), aSet,
+ pTabViewShell->GetViewFrame()->GetFrame().GetFrameInterface(), RID_SVXDLG_CHARMAP ));
if ( pDlg->Execute() == RET_OK )
{
@@ -2313,7 +2301,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
rReq.Done();
}
}
- delete pDlg;
}
break;
@@ -2718,7 +2705,7 @@ void ScCellShell::ExecuteSubtotals(SfxRequest& rReq)
return;
}
- SfxAbstractTabDialog * pDlg = NULL;
+ boost::scoped_ptr<SfxAbstractTabDialog> pDlg;
ScSubTotalParam aSubTotalParam;
SfxItemSet aArgSet( GetPool(), SCITEM_SUBTDATA, SCITEM_SUBTDATA );
@@ -2741,7 +2728,7 @@ void ScCellShell::ExecuteSubtotals(SfxRequest& rReq)
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
assert(pFact); //"ScAbstractFactory create fail
- pDlg = pFact->CreateScSubTotalDlg(pTabViewShell->GetDialogParent(), &aArgSet);
+ pDlg.reset(pFact->CreateScSubTotalDlg(pTabViewShell->GetDialogParent(), &aArgSet));
assert(pDlg); // "Dialog create fail
pDlg->SetCurPageId(1);
@@ -2774,8 +2761,6 @@ void ScCellShell::ExecuteSubtotals(SfxRequest& rReq)
}
else
GetViewData()->GetDocShell()->CancelAutoDBRange();
-
- delete pDlg;
}
void ScCellShell::ExecuteFillSingleEdit()
diff --git a/sc/source/ui/view/pivotsh.cxx b/sc/source/ui/view/pivotsh.cxx
index ee9fede..ff4b004 100644
--- a/sc/source/ui/view/pivotsh.cxx
+++ b/sc/source/ui/view/pivotsh.cxx
@@ -41,6 +41,7 @@
#define ScPivotShell
#include "scslots.hxx"
+#include <boost/scoped_ptr.hpp>
TYPEINIT1( ScPivotShell, SfxShell );
@@ -107,8 +108,8 @@ void ScPivotShell::Execute( SfxRequest& rReq )
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- AbstractScPivotFilterDlg* pDlg = pFact->CreateScPivotFilterDlg(
- pViewShell->GetDialogParent(), aArgSet, nSrcTab);
+ boost::scoped_ptr<AbstractScPivotFilterDlg> pDlg(pFact->CreateScPivotFilterDlg(
+ pViewShell->GetDialogParent(), aArgSet, nSrcTab));
OSL_ENSURE(pDlg, "Dialog create fail!");
if( pDlg->Execute() == RET_OK )
@@ -126,7 +127,6 @@ void ScPivotShell::Execute( SfxRequest& rReq )
aFunc.DataPilotUpdate( pDPObj, &aNewObj, true, false );
pViewData->GetView()->CursorPosChanged(); // shells may be switched
}
- delete pDlg;
}
}
break;
diff --git a/sc/source/ui/view/prevwsh.cxx b/sc/source/ui/view/prevwsh.cxx
index 64af102..18eb3a7 100644
--- a/sc/source/ui/view/prevwsh.cxx
+++ b/sc/source/ui/view/prevwsh.cxx
@@ -81,6 +81,8 @@ using namespace com::sun::star;
#define ScPreviewShell
#include "scslots.hxx"
+#include <boost/scoped_ptr.hpp>
+
TYPEINIT1( ScPreviewShell, SfxViewShell );
SFX_IMPL_INTERFACE(ScPreviewShell, SfxViewShell, ScResId(SCSTR_PREVIEWSHELL))
@@ -651,7 +653,7 @@ void ScPreviewShell::Execute( SfxRequest& rReq )
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
if(pFact)
{
- AbstractSvxZoomDialog* pDlg = pFact->CreateSvxZoomDialog(NULL, aSet);
+ boost::scoped_ptr<AbstractSvxZoomDialog> pDlg(pFact->CreateSvxZoomDialog(NULL, aSet));
OSL_ENSURE(pDlg, "Dialogdiet fail!");
pDlg->SetLimits( 20, 400 );
pDlg->HideButton( ZOOMBTN_OPTIMAL );
@@ -666,8 +668,6 @@ void ScPreviewShell::Execute( SfxRequest& rReq )
eZoom = rZoomItem.GetType();
nZoom = rZoomItem.GetValue();
}
-
- delete pDlg;
}
}
More information about the Libreoffice-commits
mailing list