Avoid possible memory leaks in case of exceptions
Change-Id: I22d22a924d33b91ba6894857ce56b0d920102b4b
This commit is contained in:
@@ -252,9 +252,8 @@ bool SwGlossaries::RenameGroupDoc(
|
||||
m_GlosArr.push_back(rNewGroup);
|
||||
}
|
||||
|
||||
SwTextBlocks* pNewBlock = new SwTextBlocks( sNewFileURL );
|
||||
boost::scoped_ptr<SwTextBlocks> pNewBlock(new SwTextBlocks( sNewFileURL ));
|
||||
pNewBlock->SetName(rNewTitle);
|
||||
delete pNewBlock;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@@ -35,6 +35,7 @@
|
||||
#include <editeng/frmdiritem.hxx>
|
||||
#include <fmtpdsc.hxx>
|
||||
#include <fmtrowsplt.hxx>
|
||||
#include <boost/scoped_ptr.hpp>
|
||||
|
||||
namespace
|
||||
{
|
||||
@@ -509,8 +510,8 @@ void SwFormatClipboard::Paste( SwWrtShell& rWrtShell, SfxStyleSheetBasePool* pPo
|
||||
if ( m_pItemSet_ParAttr && m_pItemSet_ParAttr->Count() != 0 && !bNoParagraphFormats )
|
||||
{
|
||||
// temporary SfxItemSet
|
||||
SfxItemSet* pTemplateItemSet = lcl_CreateEmptyItemSet(
|
||||
nSelectionType, *m_pItemSet_ParAttr->GetPool(), false);
|
||||
boost::scoped_ptr<SfxItemSet> pTemplateItemSet(lcl_CreateEmptyItemSet(
|
||||
nSelectionType, *m_pItemSet_ParAttr->GetPool(), false));
|
||||
// no need to verify the existence of pTemplateItemSet as we
|
||||
// know that here the selection type is SEL_TXT
|
||||
|
||||
@@ -525,8 +526,6 @@ void SwFormatClipboard::Paste( SwWrtShell& rWrtShell, SfxStyleSheetBasePool* pPo
|
||||
// store the attributes in aItemVector in order not to apply them as
|
||||
// text automatic formatting attributes later in the code
|
||||
lcl_AppendSetItems( aItemVector, *pTemplateItemSet);
|
||||
|
||||
delete pTemplateItemSet;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -544,8 +543,8 @@ void SwFormatClipboard::Paste( SwWrtShell& rWrtShell, SfxStyleSheetBasePool* pPo
|
||||
else
|
||||
{
|
||||
// temporary SfxItemSet
|
||||
SfxItemSet* pTemplateItemSet = lcl_CreateEmptyItemSet(
|
||||
nSelectionType, *m_pItemSet_TxtAttr->GetPool(), true );
|
||||
boost::scoped_ptr<SfxItemSet> pTemplateItemSet(lcl_CreateEmptyItemSet(
|
||||
nSelectionType, *m_pItemSet_TxtAttr->GetPool(), true ));
|
||||
|
||||
if(pTemplateItemSet)
|
||||
{
|
||||
@@ -561,8 +560,6 @@ void SwFormatClipboard::Paste( SwWrtShell& rWrtShell, SfxStyleSheetBasePool* pPo
|
||||
rWrtShell.SetFlyFrmAttr(*pTemplateItemSet);
|
||||
else if ( !bNoCharacterFormats )
|
||||
rWrtShell.SetAttrSet(*pTemplateItemSet);
|
||||
|
||||
delete pTemplateItemSet;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -78,6 +78,7 @@ using namespace ::com::sun::star;
|
||||
#include <IDocumentSettingAccess.hxx>
|
||||
|
||||
#include <unomid.h>
|
||||
#include <boost/scoped_ptr.hpp>
|
||||
|
||||
SFX_IMPL_NAMED_VIEWFACTORY(SwView, "Default")
|
||||
{
|
||||
@@ -351,7 +352,7 @@ void SwView::StateViewOptions(SfxItemSet &rSet)
|
||||
|
||||
void SwView::ExecViewOptions(SfxRequest &rReq)
|
||||
{
|
||||
SwViewOption* pOpt = new SwViewOption( *GetWrtShell().GetViewOptions() );
|
||||
boost::scoped_ptr<SwViewOption> pOpt(new SwViewOption( *GetWrtShell().GetViewOptions() ));
|
||||
bool bModified = GetWrtShell().IsModified();
|
||||
|
||||
int eState = STATE_TOGGLE;
|
||||
@@ -550,7 +551,6 @@ void SwView::ExecViewOptions(SfxRequest &rReq)
|
||||
break;
|
||||
|
||||
default:
|
||||
delete pOpt;
|
||||
OSL_FAIL("wrong request method");
|
||||
return;
|
||||
}
|
||||
@@ -591,7 +591,7 @@ void SwView::ExecViewOptions(SfxRequest &rReq)
|
||||
CalcVisArea( GetEditWin().GetOutputSizePixel() );
|
||||
rSh.LockView( bLockedView );
|
||||
|
||||
delete pOpt;
|
||||
pOpt.reset();
|
||||
Invalidate(rReq.GetSlot());
|
||||
if(!pArgs)
|
||||
rReq.AppendItem(SfxBoolItem(nSlot, bFlag));
|
||||
|
@@ -2420,7 +2420,7 @@ void SwView::GenerateFormLetter(bool bUseCurrentDocument)
|
||||
// call documents and template dialog
|
||||
SfxApplication* pSfxApp = SFX_APP();
|
||||
Window* pTopWin = pSfxApp->GetTopWindow();
|
||||
SvtDocumentTemplateDialog* pDocTemplDlg = new SvtDocumentTemplateDialog( pTopWin );
|
||||
boost::scoped_ptr<SvtDocumentTemplateDialog> pDocTemplDlg(new SvtDocumentTemplateDialog( pTopWin ));
|
||||
pDocTemplDlg->SelectTemplateFolder();
|
||||
|
||||
int nRet = pDocTemplDlg->Execute();
|
||||
@@ -2435,7 +2435,7 @@ void SwView::GenerateFormLetter(bool bUseCurrentDocument)
|
||||
}
|
||||
}
|
||||
|
||||
delete pDocTemplDlg;
|
||||
pDocTemplDlg.reset();
|
||||
if ( bNewWin )
|
||||
// after the destruction of the dialogue its parent comes to top,
|
||||
// but we want that the new document is on top
|
||||
|
@@ -32,6 +32,7 @@
|
||||
|
||||
#include "swabstdlg.hxx"
|
||||
#include "dialog.hrc"
|
||||
#include <boost/scoped_ptr.hpp>
|
||||
|
||||
using namespace ::com::sun::star;
|
||||
using namespace ::com::sun::star::ui::dialogs;
|
||||
@@ -101,9 +102,9 @@ sal_Int16 SwXFilterOptions::execute() throw (uno::RuntimeException, std::excepti
|
||||
{
|
||||
sal_Int16 nRet = ui::dialogs::ExecutableDialogResults::CANCEL;
|
||||
|
||||
SvStream* pInStream = NULL;
|
||||
boost::scoped_ptr<SvStream> pInStream;
|
||||
if ( xInputStream.is() )
|
||||
pInStream = utl::UcbStreamHelper::CreateStream( xInputStream );
|
||||
pInStream.reset(utl::UcbStreamHelper::CreateStream( xInputStream ));
|
||||
|
||||
uno::Reference< XUnoTunnel > xTunnel(xModel, uno::UNO_QUERY);
|
||||
SwDocShell* pDocShell = 0;
|
||||
@@ -119,8 +120,8 @@ sal_Int16 SwXFilterOptions::execute() throw (uno::RuntimeException, std::excepti
|
||||
SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
|
||||
OSL_ENSURE(pFact, "SwAbstractDialogFactory fail!");
|
||||
|
||||
AbstractSwAsciiFilterDlg* pAsciiDlg = pFact->CreateSwAsciiFilterDlg(NULL, *pDocShell,
|
||||
pInStream);
|
||||
boost::scoped_ptr<AbstractSwAsciiFilterDlg> pAsciiDlg(pFact->CreateSwAsciiFilterDlg(NULL, *pDocShell,
|
||||
pInStream.get()));
|
||||
OSL_ENSURE(pAsciiDlg, "Dialogdiet fail!");
|
||||
if(RET_OK == pAsciiDlg->Execute())
|
||||
{
|
||||
@@ -129,11 +130,8 @@ sal_Int16 SwXFilterOptions::execute() throw (uno::RuntimeException, std::excepti
|
||||
aOptions.WriteUserData(sFilterOptions);
|
||||
nRet = ui::dialogs::ExecutableDialogResults::OK;
|
||||
}
|
||||
delete pAsciiDlg;
|
||||
}
|
||||
|
||||
delete pInStream;
|
||||
|
||||
return nRet;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user