[Libreoffice-commits] core.git: sd/source
Takeshi Abe
tabe at fixedpoint.jp
Tue May 20 08:28:00 PDT 2014
sd/source/ui/func/fuinsfil.cxx | 21 +++++++--------------
sd/source/ui/func/fuline.cxx | 8 +++-----
sd/source/ui/func/fulinend.cxx | 4 ++--
sd/source/ui/func/fulink.cxx | 4 ++--
sd/source/ui/func/fumorph.cxx | 4 ++--
sd/source/ui/func/fuoaprms.cxx | 5 ++---
sd/source/ui/func/fuolbull.cxx | 7 +------
7 files changed, 19 insertions(+), 34 deletions(-)
New commits:
commit 1c9ba8a81ca3b92e8fd684b4c16a06b5180ceb64
Author: Takeshi Abe <tabe at fixedpoint.jp>
Date: Wed May 21 00:21:12 2014 +0900
Avoid possible memory leaks in case of exceptions
Change-Id: Idb8f0df3848416d96299ebc47ac5bd53d766e52c
diff --git a/sd/source/ui/func/fuinsfil.cxx b/sd/source/ui/func/fuinsfil.cxx
index 5110cdb..3959348 100644
--- a/sd/source/ui/func/fuinsfil.cxx
+++ b/sd/source/ui/func/fuinsfil.cxx
@@ -63,6 +63,7 @@
#include "unmovss.hxx"
#include "Outliner.hxx"
#include "sdabstdlg.hxx"
+#include <boost/scoped_ptr.hpp>
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::uno;
@@ -321,7 +322,7 @@ bool FuInsertFile::InsSDDinDrMode(SfxMedium* pMedium)
mpDocSh->SetWaitCursor( false );
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
- AbstractSdInsertPagesObjsDlg* pDlg = pFact ? pFact->CreateSdInsertPagesObjsDlg( NULL, mpDoc, pMedium, aFile ) : 0;
+ boost::scoped_ptr<AbstractSdInsertPagesObjsDlg> pDlg(pFact ? pFact->CreateSdInsertPagesObjsDlg( NULL, mpDoc, pMedium, aFile ) : 0);
if( !pDlg )
return false;
@@ -404,8 +405,6 @@ bool FuInsertFile::InsSDDinDrMode(SfxMedium* pMedium)
mpDoc->RemoveUnnecessaryMasterPages();
}
- delete pDlg;
-
return (bOK);
}
@@ -414,7 +413,7 @@ bool FuInsertFile::InsSDDinDrMode(SfxMedium* pMedium)
void FuInsertFile::InsTextOrRTFinDrMode(SfxMedium* pMedium)
{
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
- AbstractSdInsertPagesObjsDlg* pDlg = pFact ? pFact->CreateSdInsertPagesObjsDlg(NULL, mpDoc, NULL, aFile ) : 0;
+ boost::scoped_ptr<AbstractSdInsertPagesObjsDlg> pDlg(pFact ? pFact->CreateSdInsertPagesObjsDlg(NULL, mpDoc, NULL, aFile ) : 0);
if( !pDlg )
return;
@@ -439,7 +438,7 @@ void FuInsertFile::InsTextOrRTFinDrMode(SfxMedium* pMedium)
- the draw outliner of the drawing engine has to draw something in
between
- the global outliner could be used in SdPage::CreatePresObj */
- SdrOutliner* pOutliner = new ::sd::Outliner( mpDoc, OUTLINERMODE_TEXTOBJECT );
+ boost::scoped_ptr<SdrOutliner> pOutliner(new ::sd::Outliner( mpDoc, OUTLINERMODE_TEXTOBJECT ));
// set reference device
pOutliner->SetRefDevice( SD_MOD()->GetRefDevice( *mpDocSh ) );
@@ -542,10 +541,7 @@ void FuInsertFile::InsTextOrRTFinDrMode(SfxMedium* pMedium)
}
}
}
- delete pOutliner;
}
-
- delete pDlg;
}
@@ -595,7 +591,7 @@ void FuInsertFile::InsTextOrRTFinOlMode(SfxMedium* pMedium)
- the draw outliner of the drawing engine has to draw something in
between
- the global outliner could be used in SdPage::CreatePresObj */
- ::Outliner* pOutliner = new ::Outliner( &mpDoc->GetItemPool(), OUTLINERMODE_OUTLINEOBJECT );
+ boost::scoped_ptr< ::Outliner> pOutliner(new ::Outliner( &mpDoc->GetItemPool(), OUTLINERMODE_OUTLINEOBJECT ));
pOutliner->SetStyleSheetPool((SfxStyleSheetPool*)mpDoc->GetStyleSheetPool());
// set reference device
@@ -631,7 +627,7 @@ void FuInsertFile::InsTextOrRTFinOlMode(SfxMedium* pMedium)
mpDocSh->SetWaitCursor( false );
- SfxProgress* pProgress = new SfxProgress( mpDocSh, SD_RESSTR(STR_CREATE_PAGES), nNewPages);
+ boost::scoped_ptr<SfxProgress> pProgress(new SfxProgress( mpDocSh, SD_RESSTR(STR_CREATE_PAGES), nNewPages));
if( pProgress )
pProgress->SetState( 0, 100 );
@@ -675,13 +671,10 @@ void FuInsertFile::InsTextOrRTFinOlMode(SfxMedium* pMedium)
pDocliner->GetUndoManager().LeaveListAction();
- if( pProgress )
- delete pProgress;
+ pProgress.reset();
mpDocSh->SetWaitCursor( true );
}
-
- delete pOutliner;
}
diff --git a/sd/source/ui/func/fuline.cxx b/sd/source/ui/func/fuline.cxx
index ee03d31..46eafb8 100644
--- a/sd/source/ui/func/fuline.cxx
+++ b/sd/source/ui/func/fuline.cxx
@@ -36,6 +36,7 @@
#include "app.hrc"
#include <svx/svxdlg.hxx>
#include <svx/dialogs.hrc>
+#include <boost/scoped_ptr.hpp>
namespace sd {
@@ -72,11 +73,11 @@ void FuLine::DoExecute( SfxRequest& rReq )
if( rMarkList.GetMarkCount() == 1 )
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
- SfxItemSet* pNewAttr = new SfxItemSet( mpDoc->GetPool() );
+ boost::scoped_ptr<SfxItemSet> pNewAttr(new SfxItemSet( mpDoc->GetPool() ));
mpView->GetAttributes( *pNewAttr );
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
- SfxAbstractTabDialog * pDlg = pFact ? pFact->CreateSvxLineTabDialog(NULL,pNewAttr,mpDoc,pObj,bHasMarked) : 0;
+ boost::scoped_ptr<SfxAbstractTabDialog> pDlg(pFact ? pFact->CreateSvxLineTabDialog(NULL,pNewAttr.get(),mpDoc,pObj,bHasMarked) : 0);
if( pDlg && (pDlg->Execute() == RET_OK) )
{
mpView->SetAttributes (*(pDlg->GetOutputItemSet ()));
@@ -96,9 +97,6 @@ void FuLine::DoExecute( SfxRequest& rReq )
0 };
mpViewShell->GetViewFrame()->GetBindings().Invalidate( SidArray );
-
- delete pDlg;
- delete pNewAttr;
}
rReq.Ignore ();
diff --git a/sd/source/ui/func/fulinend.cxx b/sd/source/ui/func/fulinend.cxx
index 304d82f..8d9db84 100644
--- a/sd/source/ui/func/fulinend.cxx
+++ b/sd/source/ui/func/fulinend.cxx
@@ -32,6 +32,7 @@
#include "drawdoc.hxx"
#include "View.hxx"
#include "Window.hxx"
+#include <boost/scoped_ptr.hpp>
namespace sd {
@@ -114,7 +115,7 @@ void FuLineEnd::DoExecute( SfxRequest& )
}
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
- AbstractSvxNameDialog* pDlg = pFact ? pFact->CreateSvxNameDialog( NULL, aName, aDesc ) : 0;
+ boost::scoped_ptr<AbstractSvxNameDialog> pDlg(pFact ? pFact->CreateSvxNameDialog( NULL, aName, aDesc ) : 0);
if( pDlg )
{
@@ -144,7 +145,6 @@ void FuLineEnd::DoExecute( SfxRequest& )
}
}
}
- delete pDlg;
}
}
diff --git a/sd/source/ui/func/fulink.cxx b/sd/source/ui/func/fulink.cxx
index 8ef97da..a978cf4 100644
--- a/sd/source/ui/func/fulink.cxx
+++ b/sd/source/ui/func/fulink.cxx
@@ -29,6 +29,7 @@
#include "drawdoc.hxx"
#include "ViewShell.hxx"
#include "app.hrc"
+#include <boost/scoped_ptr.hpp>
class SfxRequest;
@@ -60,12 +61,11 @@ void FuLink::DoExecute( SfxRequest& )
sfx2::LinkManager* pLinkManager = mpDoc->GetLinkManager();
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
- SfxAbstractLinksDialog* pDlg = pFact->CreateLinksDialog( mpViewShell->GetActiveWindow(), pLinkManager );
+ boost::scoped_ptr<SfxAbstractLinksDialog> pDlg(pFact->CreateLinksDialog( mpViewShell->GetActiveWindow(), pLinkManager ));
if ( pDlg )
{
pDlg->Execute();
mpViewShell->GetViewFrame()->GetBindings().Invalidate( SID_MANAGE_LINKS );
- delete pDlg;
}
}
diff --git a/sd/source/ui/func/fumorph.cxx b/sd/source/ui/func/fumorph.cxx
index 73a1a8f..c2036e2 100644
--- a/sd/source/ui/func/fumorph.cxx
+++ b/sd/source/ui/func/fumorph.cxx
@@ -43,6 +43,7 @@
#include <svx/svditer.hxx>
#include <basegfx/color/bcolor.hxx>
+#include <boost/scoped_ptr.hpp>
namespace sd {
@@ -93,7 +94,7 @@ void FuMorph::DoExecute( SfxRequest& )
SdrObject* pPolyObj1 = pCloneObj1->ConvertToPolyObj(false, false);
SdrObject* pPolyObj2 = pCloneObj2->ConvertToPolyObj(false, false);
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
- AbstractMorphDlg* pDlg = pFact ? pFact->CreateMorphDlg( static_cast< ::Window*>(mpWindow), pObj1, pObj2 ) : 0;
+ boost::scoped_ptr<AbstractMorphDlg> pDlg(pFact ? pFact->CreateMorphDlg( static_cast< ::Window*>(mpWindow), pObj1, pObj2 ) : 0);
if(pPolyObj1 && pPolyObj2 && pDlg && (pDlg->Execute() == RET_OK))
{
B2DPolyPolygonList_impl aPolyPolyList;
@@ -176,7 +177,6 @@ void FuMorph::DoExecute( SfxRequest& )
}
}
}
- delete pDlg;
SdrObject::Free( pCloneObj1 );
SdrObject::Free( pCloneObj2 );
diff --git a/sd/source/ui/func/fuoaprms.cxx b/sd/source/ui/func/fuoaprms.cxx
index a7d0879..07e89e9 100644
--- a/sd/source/ui/func/fuoaprms.cxx
+++ b/sd/source/ui/func/fuoaprms.cxx
@@ -44,6 +44,7 @@
#include "sdresid.hxx"
#include <tools/helpers.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
+#include <boost/scoped_ptr.hpp>
using namespace ::com::sun::star;
@@ -448,7 +449,7 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& rReq )
aSet.Put(SfxBoolItem(ATTR_ACTION_PLAYFULL, false));
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
- SfxAbstractDialog* pDlg = pFact ? pFact->CreatSdActionDialog( NULL, &aSet, mpView ) : 0;
+ boost::scoped_ptr<SfxAbstractDialog> pDlg(pFact ? pFact->CreatSdActionDialog( NULL, &aSet, mpView ) : 0);
short nResult = pDlg ? pDlg->Execute() : static_cast<short>(RET_CANCEL);
@@ -458,8 +459,6 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& rReq )
pArgs = rReq.GetArgs();
}
- delete pDlg;
-
if( nResult != RET_OK )
return;
}
diff --git a/sd/source/ui/func/fuolbull.cxx b/sd/source/ui/func/fuolbull.cxx
index 870d4e2..9e12285 100644
--- a/sd/source/ui/func/fuolbull.cxx
+++ b/sd/source/ui/func/fuolbull.cxx
@@ -82,7 +82,7 @@ void FuOutlineBullet::DoExecute( SfxRequest& rReq )
// create and execute dialog
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
- SfxAbstractTabDialog* pDlg = pFact ? pFact->CreateSdOutlineBulletTabDlg( NULL, &aNewAttr, mpView ) : 0;
+ boost::scoped_ptr<SfxAbstractTabDialog> pDlg(pFact ? pFact->CreateSdOutlineBulletTabDlg( NULL, &aNewAttr, mpView ) : 0);
if( pDlg )
{
sal_uInt16 nResult = pDlg->Execute();
@@ -114,13 +114,8 @@ void FuOutlineBullet::DoExecute( SfxRequest& rReq )
break;
default:
- {
- delete pDlg;
return;
- }
}
-
- delete pDlg;
}
}
More information about the Libreoffice-commits
mailing list