[Libreoffice-commits] core.git: sc/source
Takeshi Abe
tabe at fixedpoint.jp
Sun May 18 07:37:39 PDT 2014
sc/source/ui/drawfunc/drtxtob.cxx | 6 ++++--
sc/source/ui/drawfunc/drtxtob1.cxx | 14 ++++++--------
sc/source/ui/drawfunc/fuins2.cxx | 6 +++---
sc/source/ui/miscdlgs/scuiautofmt.cxx | 13 +++++--------
sc/source/ui/pagedlg/tphf.cxx | 11 ++++-------
sc/source/ui/pagedlg/tphfedit.cxx | 6 +++---
sc/source/ui/unoobj/filtuno.cxx | 14 ++++++--------
sc/source/ui/view/editsh.cxx | 4 ++--
sc/source/ui/view/tabvwsh3.cxx | 4 ++--
sc/source/ui/view/tabvwshf.cxx | 5 ++---
10 files changed, 37 insertions(+), 46 deletions(-)
New commits:
commit c623612b0bd0bbd2307a19ccf3c2f1f343b932b3
Author: Takeshi Abe <tabe at fixedpoint.jp>
Date: Sun May 18 23:09:36 2014 +0900
Avoid possible memory leaks in case of exceptions
Change-Id: Icc1e11e173329fd88898a3d13270406fd651eb2b
diff --git a/sc/source/ui/drawfunc/drtxtob.cxx b/sc/source/ui/drawfunc/drtxtob.cxx
index 38ce5be..f0ed72e 100644
--- a/sc/source/ui/drawfunc/drtxtob.cxx
+++ b/sc/source/ui/drawfunc/drtxtob.cxx
@@ -76,6 +76,8 @@
#define ScDrawTextObjectBar
#include "scslots.hxx"
+#include <boost/scoped_ptr.hpp>
+
using namespace ::com::sun::star;
SFX_IMPL_INTERFACE(ScDrawTextObjectBar, SfxShell, ScResId(SCSTR_DRAWTEXTSHELL))
@@ -833,14 +835,14 @@ void ScDrawTextObjectBar::ExecuteAttr( SfxRequest &rReq )
case SID_DRAWTEXT_ATTR_DLG:
{
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
- SfxAbstractTabDialog *pDlg = pFact->CreateTextTabDialog( pViewData->GetDialogParent(), &aEditAttr, pView );
+ boost::scoped_ptr<SfxAbstractTabDialog> pDlg(pFact->CreateTextTabDialog( pViewData->GetDialogParent(), &aEditAttr, pView ));
bDone = ( RET_OK == pDlg->Execute() );
if ( bDone )
aNewAttr.Put( *pDlg->GetOutputItemSet() );
- delete pDlg;
+ pDlg.reset();
SfxBindings& rBindings = pViewData->GetBindings();
rBindings.Invalidate( SID_TABLE_VERT_NONE );
diff --git a/sc/source/ui/drawfunc/drtxtob1.cxx b/sc/source/ui/drawfunc/drtxtob1.cxx
index d993d81..5cb6368 100644
--- a/sc/source/ui/drawfunc/drtxtob1.cxx
+++ b/sc/source/ui/drawfunc/drtxtob1.cxx
@@ -38,6 +38,7 @@
#include "scresid.hxx"
#include "scabstdlg.hxx"
+#include <boost/scoped_ptr.hpp>
bool ScDrawTextObjectBar::ExecuteCharDlg( const SfxItemSet& rArgs,
@@ -46,9 +47,9 @@ bool ScDrawTextObjectBar::ExecuteCharDlg( const SfxItemSet& rArgs,
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- SfxAbstractTabDialog* pDlg = pFact->CreateScCharDlg(
+ boost::scoped_ptr<SfxAbstractTabDialog> pDlg(pFact->CreateScCharDlg(
pViewData->GetDialogParent(), &rArgs,
- pViewData->GetSfxDocShell());
+ pViewData->GetSfxDocShell()));
OSL_ENSURE(pDlg, "Dialog create fail!");
if (nSlot == SID_CHAR_DLG_EFFECT)
{
@@ -62,7 +63,6 @@ bool ScDrawTextObjectBar::ExecuteCharDlg( const SfxItemSet& rArgs,
if ( pNewAttrs )
rOutSet.Put( *pNewAttrs );
}
- delete pDlg;
return bRet;
}
@@ -94,8 +94,8 @@ bool ScDrawTextObjectBar::ExecuteParaDlg( const SfxItemSet& rArgs,
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- SfxAbstractTabDialog* pDlg = pFact->CreateScParagraphDlg(
- pViewData->GetDialogParent(), &aNewAttr);
+ boost::scoped_ptr<SfxAbstractTabDialog> pDlg(pFact->CreateScParagraphDlg(
+ pViewData->GetDialogParent(), &aNewAttr));
OSL_ENSURE(pDlg, "Dialog create fail!");
bool bRet = ( pDlg->Execute() == RET_OK );
@@ -105,7 +105,6 @@ bool ScDrawTextObjectBar::ExecuteParaDlg( const SfxItemSet& rArgs,
if ( pNewAttrs )
rOutSet.Put( *pNewAttrs );
}
- delete pDlg;
return bRet;
}
@@ -115,7 +114,7 @@ void ScDrawTextObjectBar::ExecutePasteContents( SfxRequest & /* rReq */ )
SdrView* pView = pViewData->GetScDrawView();
OutlinerView* pOutView = pView->GetTextEditOutlinerView();
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
- SfxAbstractPasteDialog* pDlg = pFact->CreatePasteDialog( pViewData->GetDialogParent() );
+ boost::scoped_ptr<SfxAbstractPasteDialog> pDlg(pFact->CreatePasteDialog( pViewData->GetDialogParent() ));
pDlg->Insert( SOT_FORMAT_STRING, EMPTY_OUSTRING );
pDlg->Insert( SOT_FORMAT_RTF, EMPTY_OUSTRING );
@@ -133,7 +132,6 @@ void ScDrawTextObjectBar::ExecutePasteContents( SfxRequest & /* rReq */ )
else
pOutView->PasteSpecial();
}
- delete pDlg;
}
diff --git a/sc/source/ui/drawfunc/fuins2.cxx b/sc/source/ui/drawfunc/fuins2.cxx
index 9c7b192..4e7b0dc 100644
--- a/sc/source/ui/drawfunc/fuins2.cxx
+++ b/sc/source/ui/drawfunc/fuins2.cxx
@@ -83,6 +83,7 @@ using namespace ::com::sun::star;
#include "drawview.hxx"
#include "markdata.hxx"
#include "gridwin.hxx"
+#include <boost/scoped_ptr.hpp>
namespace {
@@ -245,9 +246,9 @@ FuInsertOLE::FuInsertOLE(ScTabViewShell* pViewSh, Window* pWin, ScDrawView* pVie
case SID_INSERT_FLOATINGFRAME :
{
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
- SfxAbstractInsertObjectDialog* pDlg =
+ boost::scoped_ptr<SfxAbstractInsertObjectDialog> pDlg(
pFact->CreateInsertObjectDialog( pViewShell->GetWindow(), SC_MOD()->GetSlotPool()->GetSlot(nSlot)->GetCommandString(),
- xStorage, &aServerLst );
+ xStorage, &aServerLst ));
if ( pDlg )
{
pDlg->Execute();
@@ -261,7 +262,6 @@ FuInsertOLE::FuInsertOLE(ScTabViewShell* pViewSh, Window* pWin, ScDrawView* pVie
pViewSh->GetObjectShell()->GetEmbeddedObjectContainer().InsertEmbeddedObject( xObj, aName );
// damit DrawShell eingeschaltet wird (Objekt aktivieren ist unnoetig):
bIsFromFile = !pDlg->IsCreateNew();
- DELETEZ( pDlg );
}
break;
diff --git a/sc/source/ui/miscdlgs/scuiautofmt.cxx b/sc/source/ui/miscdlgs/scuiautofmt.cxx
index 8618f7a..1b7f9f3 100644
--- a/sc/source/ui/miscdlgs/scuiautofmt.cxx
+++ b/sc/source/ui/miscdlgs/scuiautofmt.cxx
@@ -50,6 +50,7 @@
#include "scuiautofmt.hxx"
#include "scresid.hxx"
#include "document.hxx"
+#include <boost/scoped_ptr.hpp>
// AutoFormat-Dialog:
@@ -203,16 +204,15 @@ IMPL_LINK_NOARG(ScAutoFormatDlg, AddHdl)
{
OUString aStrStandard( SfxResId(STR_STANDARD) );
OUString aFormatName;
- ScStringInputDlg* pDlg;
bool bOk = false;
while ( !bOk )
{
- pDlg = new ScStringInputDlg( this,
+ boost::scoped_ptr<ScStringInputDlg> pDlg(new ScStringInputDlg( this,
aStrTitle,
aStrLabel,
aFormatName,
- HID_SC_ADD_AUTOFMT, HID_SC_AUTOFMT_NAME );
+ HID_SC_ADD_AUTOFMT, HID_SC_AUTOFMT_NAME ));
if ( pDlg->Execute() == RET_OK )
{
@@ -261,8 +261,6 @@ IMPL_LINK_NOARG(ScAutoFormatDlg, AddHdl)
}
else
bOk = true;
-
- delete pDlg;
}
}
@@ -316,11 +314,11 @@ IMPL_LINK_NOARG(ScAutoFormatDlg, RenameHdl)
OUString aFormatName = m_pLbFormat->GetSelectEntry();
OUString aEntry;
- ScStringInputDlg* pDlg = new ScStringInputDlg( this,
+ boost::scoped_ptr<ScStringInputDlg> pDlg(new ScStringInputDlg( this,
aStrRename,
aStrLabel,
aFormatName,
- HID_SC_REN_AFMT_DLG, HID_SC_REN_AFMT_NAME );
+ HID_SC_REN_AFMT_DLG, HID_SC_REN_AFMT_NAME ));
if( pDlg->Execute() == RET_OK )
{
bool bFmtRenamed = false;
@@ -386,7 +384,6 @@ IMPL_LINK_NOARG(ScAutoFormatDlg, RenameHdl)
}
else
bOk = true;
- delete pDlg;
}
return 0;
diff --git a/sc/source/ui/pagedlg/tphf.cxx b/sc/source/ui/pagedlg/tphf.cxx
index 5134f38..0d22eed 100644
--- a/sc/source/ui/pagedlg/tphf.cxx
+++ b/sc/source/ui/pagedlg/tphf.cxx
@@ -41,6 +41,7 @@
#include "scresid.hxx"
#include "scuitphfedit.hxx"
#undef _TPHF_CXX
+#include <boost/scoped_ptr.hpp>
// class ScHFPage
@@ -191,21 +192,19 @@ IMPL_LINK_NOARG(ScHFPage, HFEditHdl)
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- SfxAbstractTabDialog* pDlg = pFact->CreateScHFEditDlg(
- pViewSh->GetViewFrame(), this, aDataSet, aStrPageStyle, nResId);
+ boost::scoped_ptr<SfxAbstractTabDialog> pDlg(pFact->CreateScHFEditDlg(
+ pViewSh->GetViewFrame(), this, aDataSet, aStrPageStyle, nResId));
OSL_ENSURE(pDlg, "Dialog create fail!");
if ( pDlg->Execute() == RET_OK )
{
aDataSet.Put( *pDlg->GetOutputItemSet() );
}
-
- delete pDlg;
}
else
{
OUString aText;
- SfxSingleTabDialog* pDlg = new SfxSingleTabDialog(this, aDataSet);
+ boost::scoped_ptr<SfxSingleTabDialog> pDlg(new SfxSingleTabDialog(this, aDataSet));
const int nSettingsId = 42;
bool bRightPage = m_pCntSharedBox->IsChecked()
|| ( SVX_PAGE_LEFT != SvxPageUsage(nPageUsage) );
@@ -239,8 +238,6 @@ IMPL_LINK_NOARG(ScHFPage, HFEditHdl)
{
aDataSet.Put( *pDlg->GetOutputItemSet() );
}
-
- delete pDlg;
}
return 0;
diff --git a/sc/source/ui/pagedlg/tphfedit.cxx b/sc/source/ui/pagedlg/tphfedit.cxx
index b7b0001..da27705 100644
--- a/sc/source/ui/pagedlg/tphfedit.cxx
+++ b/sc/source/ui/pagedlg/tphfedit.cxx
@@ -45,6 +45,7 @@
#include "AccessibleEditObject.hxx"
#include "scabstdlg.hxx"
+#include <boost/scoped_ptr.hpp>
// STATIC DATA -----------------------------------------------------------
@@ -201,8 +202,8 @@ void ScEditWindow::SetCharAttriutes()
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- SfxAbstractTabDialog* pDlg = pFact->CreateScCharDlg(
- GetParent(), &aSet, pDocSh);
+ boost::scoped_ptr<SfxAbstractTabDialog> pDlg(pFact->CreateScCharDlg(
+ GetParent(), &aSet, pDocSh));
OSL_ENSURE(pDlg, "Dialog create fail!");
pDlg->SetText( ScGlobal::GetRscString( STR_TEXTATTRS ) );
if ( pDlg->Execute() == RET_OK )
@@ -213,7 +214,6 @@ void ScEditWindow::SetCharAttriutes()
}
if(pTabViewSh!=NULL) pTabViewSh->SetInFormatDialog(false);
- delete pDlg;
}
}
diff --git a/sc/source/ui/unoobj/filtuno.cxx b/sc/source/ui/unoobj/filtuno.cxx
index 0fa086f..ee29b0f 100644
--- a/sc/source/ui/unoobj/filtuno.cxx
+++ b/sc/source/ui/unoobj/filtuno.cxx
@@ -40,6 +40,7 @@
#include <optutil.hxx>
#include <com/sun/star/uno/Any.hxx>
#include <com/sun/star/uno/Sequence.hxx>
+#include <boost/scoped_ptr.hpp>
using namespace ::com::sun::star;
@@ -194,11 +195,11 @@ sal_Int16 SAL_CALL ScFilterOptionsObj::execute() throw(uno::RuntimeException, st
INetURLObject aURL( aFileName );
OUString aPrivDatName(aURL.getName());
- SvStream* pInStream = NULL;
+ boost::scoped_ptr<SvStream> pInStream;
if ( xInputStream.is() )
- pInStream = utl::UcbStreamHelper::CreateStream( xInputStream );
+ pInStream.reset(utl::UcbStreamHelper::CreateStream( xInputStream ));
- AbstractScImportAsciiDlg* pDlg = pFact->CreateScImportAsciiDlg( NULL, aPrivDatName, pInStream, SC_IMPORTFILE);
+ boost::scoped_ptr<AbstractScImportAsciiDlg> pDlg(pFact->CreateScImportAsciiDlg( NULL, aPrivDatName, pInStream.get(), SC_IMPORTFILE));
OSL_ENSURE(pDlg, "Dialog create fail!");
if ( pDlg->Execute() == RET_OK )
{
@@ -208,8 +209,6 @@ sal_Int16 SAL_CALL ScFilterOptionsObj::execute() throw(uno::RuntimeException, st
aFilterOptions = aOptions.WriteToString();
nRet = ui::dialogs::ExecutableDialogResults::OK;
}
- delete pDlg;
- delete pInStream;
}
else if ( aFilterString == ScDocShell::GetWebQueryFilterName() || aFilterString == ScDocShell::GetHtmlFilterName() )
{
@@ -301,9 +300,9 @@ sal_Int16 SAL_CALL ScFilterOptionsObj::execute() throw(uno::RuntimeException, st
ScImportOptions aOptions( cAsciiDel, cStrDel, eEncoding);
- AbstractScImportOptionsDlg* pDlg = pFact->CreateScImportOptionsDlg(NULL,
+ boost::scoped_ptr<AbstractScImportOptionsDlg> pDlg(pFact->CreateScImportOptionsDlg(NULL,
bAscii, &aOptions, &aTitle, bMultiByte, bDBEnc,
- !bExport);
+ !bExport));
OSL_ENSURE(pDlg, "Dialog create fail!");
if ( pDlg->Execute() == RET_OK )
{
@@ -315,7 +314,6 @@ sal_Int16 SAL_CALL ScFilterOptionsObj::execute() throw(uno::RuntimeException, st
aFilterOptions = aOptions.aStrFont;
nRet = ui::dialogs::ExecutableDialogResults::OK;
}
- delete pDlg;
}
xInputStream.clear(); // don't hold the stream longer than necessary
diff --git a/sc/source/ui/view/editsh.cxx b/sc/source/ui/view/editsh.cxx
index 5a26a6e..7cb2936 100644
--- a/sc/source/ui/view/editsh.cxx
+++ b/sc/source/ui/view/editsh.cxx
@@ -272,7 +272,7 @@ void ScEditShell::Execute( SfxRequest& rReq )
case SID_PASTE_SPECIAL:
{
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
- SfxAbstractPasteDialog* pDlg = pFact->CreatePasteDialog( pViewData->GetDialogParent() );
+ boost::scoped_ptr<SfxAbstractPasteDialog> pDlg(pFact->CreatePasteDialog( pViewData->GetDialogParent() ));
sal_uLong nFormat = 0;
if ( pDlg )
{
@@ -283,8 +283,8 @@ void ScEditShell::Execute( SfxRequest& rReq )
TransferableDataHelper::CreateFromSystemClipboard( pViewData->GetActiveWin() ) );
nFormat = pDlg->GetFormat( aDataHelper.GetTransferable() );
- DELETEZ(pDlg);
}
+ pDlg.reset();
// while the dialog was open, edit mode may have been stopped
if (!SC_MOD()->IsInputMode())
diff --git a/sc/source/ui/view/tabvwsh3.cxx b/sc/source/ui/view/tabvwsh3.cxx
index 7c2a2c2..58665e2 100644
--- a/sc/source/ui/view/tabvwsh3.cxx
+++ b/sc/source/ui/view/tabvwsh3.cxx
@@ -790,7 +790,7 @@ void ScTabViewShell::Execute( SfxRequest& rReq )
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- AbstractScShowTabDlg* pDlg = pFact->CreateScShowTabDlg(GetDialogParent());
+ boost::scoped_ptr<AbstractScShowTabDlg> pDlg(pFact->CreateScShowTabDlg(GetDialogParent()));
OSL_ENSURE(pDlg, "Dialog create fail!");
pDlg->SetDescription(
OUString( ScResId( STR_DLG_SELECTTABLES_TITLE ) ),
@@ -811,7 +811,7 @@ void ScTabViewShell::Execute( SfxRequest& rReq )
sal_uInt16 nSelIx;
for( nSelIx = 0; nSelIx < nSelCount; ++nSelIx )
aIndexList.insert( aIndexList.begin()+nSelIx, pDlg->GetSelectEntryPos( nSelIx ) );
- delete pDlg;
+ pDlg.reset();
rReq.AppendItem( SfxIntegerListItem( SID_SELECT_TABLES, aIndexList ) );
}
else
diff --git a/sc/source/ui/view/tabvwshf.cxx b/sc/source/ui/view/tabvwshf.cxx
index 8055546..01b3372 100644
--- a/sc/source/ui/view/tabvwshf.cxx
+++ b/sc/source/ui/view/tabvwshf.cxx
@@ -698,12 +698,12 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq )
aTabBgColor = pDoc->GetTabBgColor( nCurrentTab );
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
- AbstractScTabBgColorDlg* pDlg = pFact->CreateScTabBgColorDlg(
+ boost::scoped_ptr<AbstractScTabBgColorDlg> pDlg(pFact->CreateScTabBgColorDlg(
GetDialogParent(),
OUString(ScResId(SCSTR_SET_TAB_BG_COLOR)),
OUString(ScResId(SCSTR_NO_TAB_BG_COLOR)),
aTabBgColor,
- CMD_FID_TAB_SET_TAB_BG_COLOR);
+ CMD_FID_TAB_SET_TAB_BG_COLOR));
while ( !bDone && nRet == RET_OK )
{
nRet = pDlg->Execute();
@@ -747,7 +747,6 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq )
}
}
}
- delete( pDlg );
}
}
break;
More information about the Libreoffice-commits
mailing list