[Libreoffice-commits] core.git: 2 commits - sw/source
Takeshi Abe
tabe at fixedpoint.jp
Wed Jun 4 23:37:01 PDT 2014
sw/source/ui/misc/pgfnote.cxx | 8 +--
sw/source/ui/misc/srtdlg.cxx | 7 +--
sw/source/ui/table/convert.cxx | 4 -
sw/source/ui/table/instable.cxx | 4 -
sw/source/ui/table/tautofmt.cxx | 17 +++----
sw/source/uibase/app/docsh2.cxx | 13 ++---
sw/source/uibase/app/docshini.cxx | 13 +++--
sw/source/uibase/dialog/regionsw.cxx | 14 ++----
sw/source/uibase/dochdl/gloshdl.cxx | 12 ++---
sw/source/uibase/dochdl/swdtflvr.cxx | 59 +++++++++++----------------
sw/source/uibase/docvw/DashedLine.cxx | 6 +-
sw/source/uibase/docvw/HeaderFooterWin.cxx | 6 +-
sw/source/uibase/docvw/PageBreakWin.cxx | 6 +-
sw/source/uibase/docvw/PostItMgr.cxx | 5 +-
sw/source/uibase/docvw/SidebarTxtControl.cxx | 4 -
sw/source/uibase/docvw/SidebarWin.cxx | 7 +--
sw/source/uibase/docvw/edtwin.cxx | 10 ++--
17 files changed, 91 insertions(+), 104 deletions(-)
New commits:
commit e0057072817ccad2a54eca45ffdb84d1c99ee7a7
Author: Takeshi Abe <tabe at fixedpoint.jp>
Date: Thu Jun 5 14:10:15 2014 +0900
Avoid possible memory leaks in case of exceptions
Change-Id: Ia8bc0e24a76dd953000b73806ac21f21db4c4ca3
diff --git a/sw/source/uibase/dialog/regionsw.cxx b/sw/source/uibase/dialog/regionsw.cxx
index 299c26c..938c552 100644
--- a/sw/source/uibase/dialog/regionsw.cxx
+++ b/sw/source/uibase/dialog/regionsw.cxx
@@ -83,12 +83,11 @@ void SwBaseShell::InsertRegionDialog(SfxRequest& rReq)
aSet.Put(SvxSizeItem(SID_ATTR_PAGE_SIZE, Size(nWidth, nWidth)));
SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "Dialogdiet fail!");
- AbstractInsertSectionTabDialog* aTabDlg = pFact->CreateInsertSectionTabDialog(
- &GetView().GetViewFrame()->GetWindow(), aSet , rSh);
+ boost::scoped_ptr<AbstractInsertSectionTabDialog> aTabDlg(pFact->CreateInsertSectionTabDialog(
+ &GetView().GetViewFrame()->GetWindow(), aSet , rSh));
OSL_ENSURE(aTabDlg, "Dialogdiet fail!");
aTabDlg->Execute();
rReq.Ignore();
- delete aTabDlg;
}
else
{
@@ -194,13 +193,11 @@ IMPL_STATIC_LINK( SwWrtShell, InsertRegionDialog, SwSectionData*, pSect )
aSet.Put(SvxSizeItem(SID_ATTR_PAGE_SIZE, Size(nWidth, nWidth)));
SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "Dialogdiet fail!");
- AbstractInsertSectionTabDialog* aTabDlg = pFact->CreateInsertSectionTabDialog(
- &pThis->GetView().GetViewFrame()->GetWindow(),aSet , *pThis);
+ boost::scoped_ptr<AbstractInsertSectionTabDialog> aTabDlg(pFact->CreateInsertSectionTabDialog(
+ &pThis->GetView().GetViewFrame()->GetWindow(),aSet , *pThis));
OSL_ENSURE(aTabDlg, "Dialogdiet fail!");
aTabDlg->SetSectionData(*xSectionData);
aTabDlg->Execute();
-
- delete aTabDlg;
}
return 0;
}
@@ -222,14 +219,13 @@ void SwBaseShell::EditRegionDialog(SfxRequest& rReq)
{
SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "Dialogdiet fail!");
- AbstractEditRegionDlg* pEditRegionDlg = pFact->CreateEditRegionDlg(pParentWin, rWrtShell);
+ boost::scoped_ptr<AbstractEditRegionDlg> pEditRegionDlg(pFact->CreateEditRegionDlg(pParentWin, rWrtShell));
OSL_ENSURE(pEditRegionDlg, "Dialogdiet fail!");
if(pItem && pItem->ISA(SfxStringItem))
{
pEditRegionDlg->SelectSection(((const SfxStringItem*)pItem)->GetValue());
}
pEditRegionDlg->Execute();
- delete pEditRegionDlg;
}
}
break;
diff --git a/sw/source/uibase/dochdl/swdtflvr.cxx b/sw/source/uibase/dochdl/swdtflvr.cxx
index 572f51a..f34c1fa 100644
--- a/sw/source/uibase/dochdl/swdtflvr.cxx
+++ b/sw/source/uibase/dochdl/swdtflvr.cxx
@@ -124,6 +124,7 @@
#include <vcl/GraphicNativeTransform.hxx>
#include <vcl/GraphicNativeMetadata.hxx>
+#include <boost/scoped_array.hpp>
#include <boost/scoped_ptr.hpp>
extern bool bFrmDrag;
@@ -2632,14 +2633,14 @@ bool SwTransferable::_PasteDBData( TransferableDataHelper& rData,
}
else if( nWh )
{
- SfxUsrAnyItem* pConnectionItem = 0;
- SfxUsrAnyItem* pCursorItem = 0;
- SfxUsrAnyItem* pColumnItem = 0;
- SfxUsrAnyItem* pSourceItem = 0;
- SfxUsrAnyItem* pCommandItem = 0;
- SfxUsrAnyItem* pCommandTypeItem = 0;
- SfxUsrAnyItem* pColumnNameItem = 0;
- SfxUsrAnyItem* pSelectionItem = 0;
+ boost::scoped_ptr<SfxUsrAnyItem> pConnectionItem;
+ boost::scoped_ptr<SfxUsrAnyItem> pCursorItem;
+ boost::scoped_ptr<SfxUsrAnyItem> pColumnItem;
+ boost::scoped_ptr<SfxUsrAnyItem> pSourceItem;
+ boost::scoped_ptr<SfxUsrAnyItem> pCommandItem;
+ boost::scoped_ptr<SfxUsrAnyItem> pCommandTypeItem;
+ boost::scoped_ptr<SfxUsrAnyItem> pColumnNameItem;
+ boost::scoped_ptr<SfxUsrAnyItem> pSelectionItem;
bool bDataAvailable = true;
ODataAccessDescriptor aDesc;
@@ -2652,14 +2653,14 @@ bool SwTransferable::_PasteDBData( TransferableDataHelper& rData,
if ( bDataAvailable )
{
- pConnectionItem = new SfxUsrAnyItem(FN_DB_CONNECTION_ANY, aDesc[daConnection]);
- pColumnItem = new SfxUsrAnyItem(FN_DB_COLUMN_ANY, aDesc[daColumnObject]);
- pSourceItem = new SfxUsrAnyItem(FN_DB_DATA_SOURCE_ANY, makeAny(aDesc.getDataSource()));
- pCommandItem = new SfxUsrAnyItem(FN_DB_DATA_COMMAND_ANY, aDesc[daCommand]);
- pCommandTypeItem = new SfxUsrAnyItem(FN_DB_DATA_COMMAND_TYPE_ANY, aDesc[daCommandType]);
- pColumnNameItem = new SfxUsrAnyItem(FN_DB_DATA_COLUMN_NAME_ANY, aDesc[daColumnName]);
- pSelectionItem = new SfxUsrAnyItem(FN_DB_DATA_SELECTION_ANY, aDesc[daSelection]);
- pCursorItem = new SfxUsrAnyItem(FN_DB_DATA_CURSOR_ANY, aDesc[daCursor]);
+ pConnectionItem.reset(new SfxUsrAnyItem(FN_DB_CONNECTION_ANY, aDesc[daConnection]));
+ pColumnItem.reset(new SfxUsrAnyItem(FN_DB_COLUMN_ANY, aDesc[daColumnObject]));
+ pSourceItem.reset(new SfxUsrAnyItem(FN_DB_DATA_SOURCE_ANY, makeAny(aDesc.getDataSource())));
+ pCommandItem.reset(new SfxUsrAnyItem(FN_DB_DATA_COMMAND_ANY, aDesc[daCommand]));
+ pCommandTypeItem.reset(new SfxUsrAnyItem(FN_DB_DATA_COMMAND_TYPE_ANY, aDesc[daCommandType]));
+ pColumnNameItem.reset(new SfxUsrAnyItem(FN_DB_DATA_COLUMN_NAME_ANY, aDesc[daColumnName]));
+ pSelectionItem.reset(new SfxUsrAnyItem(FN_DB_DATA_SELECTION_ANY, aDesc[daSelection]));
+ pCursorItem.reset(new SfxUsrAnyItem(FN_DB_DATA_CURSOR_ANY, aDesc[daCursor]));
}
SwView& rView = rSh.GetView();
@@ -2669,17 +2670,9 @@ bool SwTransferable::_PasteDBData( TransferableDataHelper& rData,
SfxStringItem aDataDesc( nWh, sTxt );
rView.GetViewFrame()->GetDispatcher()->Execute(
nWh, SFX_CALLMODE_ASYNCHRON, &aDataDesc,
- pConnectionItem, pColumnItem,
- pSourceItem, pCommandItem, pCommandTypeItem,
- pColumnNameItem, pSelectionItem, pCursorItem,0L);
- delete pConnectionItem;
- delete pColumnItem;
- delete pSourceItem;
- delete pCommandItem;
- delete pCommandTypeItem;
- delete pColumnNameItem;
- delete pSelectionItem;
- delete pCursorItem;
+ pConnectionItem.get(), pColumnItem.get(),
+ pSourceItem.get(), pCommandItem.get(), pCommandTypeItem.get(),
+ pColumnNameItem.get(), pSelectionItem.get(), pCursorItem.get(), 0L);
}
else
{
@@ -3671,21 +3664,21 @@ bool SwTrnsfrDdeLink::WriteData( SvStream& rStrm )
pDocShell->GetTitle(SFX_TITLE_FULLNAME), eEncoding));
const OString aName(OUStringToOString(sName, eEncoding));
- sal_Char* pMem = new sal_Char[ aAppNm.getLength() + aTopic.getLength() + aName.getLength() + 4 ];
+ boost::scoped_array<sal_Char> pMem(new sal_Char[ aAppNm.getLength() + aTopic.getLength() + aName.getLength() + 4 ]);
sal_Int32 nLen = aAppNm.getLength();
- memcpy( pMem, aAppNm.getStr(), nLen );
+ memcpy( pMem.get(), aAppNm.getStr(), nLen );
pMem[ nLen++ ] = 0;
- memcpy( pMem + nLen, aTopic.getStr(), aTopic.getLength() );
+ memcpy( pMem.get() + nLen, aTopic.getStr(), aTopic.getLength() );
nLen = nLen + aTopic.getLength();
pMem[ nLen++ ] = 0;
- memcpy( pMem + nLen, aName.getStr(), aName.getLength() );
+ memcpy( pMem.get() + nLen, aName.getStr(), aName.getLength() );
nLen = nLen + aName.getLength();
pMem[ nLen++ ] = 0;
pMem[ nLen++ ] = 0;
- rStrm.Write( pMem, nLen );
- delete[] pMem;
+ rStrm.Write( pMem.get(), nLen );
+ pMem.reset();
IDocumentMarkAccess* const pMarkAccess = pDocShell->GetDoc()->getIDocumentMarkAccess();
IDocumentMarkAccess::const_iterator_t ppMark = pMarkAccess->findMark(sName);
diff --git a/sw/source/uibase/docvw/DashedLine.cxx b/sw/source/uibase/docvw/DashedLine.cxx
index e9e343b3..824e7c3 100644
--- a/sw/source/uibase/docvw/DashedLine.cxx
+++ b/sw/source/uibase/docvw/DashedLine.cxx
@@ -17,6 +17,7 @@
#include <drawinglayer/processor2d/processorfromoutputdevice.hxx>
#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
+#include <boost/scoped_ptr.hpp>
SwDashedLine::SwDashedLine( Window* pParent, Color& ( *pColorFn )() ) :
FixedLine( pParent, WB_DIALOGCONTROL | WB_HORZ ),
@@ -31,9 +32,9 @@ SwDashedLine::~SwDashedLine( )
void SwDashedLine::Paint( const Rectangle& )
{
const drawinglayer::geometry::ViewInformation2D aNewViewInfos;
- drawinglayer::processor2d::BaseProcessor2D * pProcessor =
+ boost::scoped_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor(
drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(
- *this, aNewViewInfos );
+ *this, aNewViewInfos ));
// Compute the start and end points
const Rectangle aRect( Rectangle( Point( 0, 0 ), PixelToLogic( GetSizePixel() ) ) );
@@ -91,7 +92,6 @@ void SwDashedLine::Paint( const Rectangle& )
aSeq[ aSeq.getLength() - 1 ] = drawinglayer::primitive2d::Primitive2DReference( pLine );
pProcessor->process( aSeq );
- delete pProcessor;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/uibase/docvw/HeaderFooterWin.cxx b/sw/source/uibase/docvw/HeaderFooterWin.cxx
index b68c59a..17d95ff 100644
--- a/sw/source/uibase/docvw/HeaderFooterWin.cxx
+++ b/sw/source/uibase/docvw/HeaderFooterWin.cxx
@@ -48,6 +48,7 @@
#include <vcl/menubtn.hxx>
#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
+#include <boost/scoped_ptr.hpp>
#define TEXT_PADDING 5
#define BOX_DISTANCE 10
@@ -351,9 +352,9 @@ void SwHeaderFooterWin::Paint( const Rectangle& )
// Create the processor and process the primitives
const drawinglayer::geometry::ViewInformation2D aNewViewInfos;
- drawinglayer::processor2d::BaseProcessor2D * pProcessor =
+ boost::scoped_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor(
drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(
- *this, aNewViewInfos );
+ *this, aNewViewInfos ));
// TODO Ghost it all if needed
drawinglayer::primitive2d::Primitive2DSequence aGhostedSeq( 1 );
@@ -366,7 +367,6 @@ void SwHeaderFooterWin::Paint( const Rectangle& )
aSeq, aBColorModifier ) );
pProcessor->process( aGhostedSeq );
- delete pProcessor;
}
bool SwHeaderFooterWin::IsEmptyHeaderFooter( )
diff --git a/sw/source/uibase/docvw/PageBreakWin.cxx b/sw/source/uibase/docvw/PageBreakWin.cxx
index 876961a..cba0d11 100644
--- a/sw/source/uibase/docvw/PageBreakWin.cxx
+++ b/sw/source/uibase/docvw/PageBreakWin.cxx
@@ -41,6 +41,7 @@
#include <svl/stritem.hxx>
#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
+#include <boost/scoped_ptr.hpp>
#define BUTTON_WIDTH 30
#define BUTTON_HEIGHT 19
@@ -197,12 +198,11 @@ void SwPageBreakWin::Paint( const Rectangle& )
// Create the processor and process the primitives
const drawinglayer::geometry::ViewInformation2D aNewViewInfos;
- drawinglayer::processor2d::BaseProcessor2D * pProcessor =
+ boost::scoped_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor(
drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(
- *this, aNewViewInfos );
+ *this, aNewViewInfos ));
pProcessor->process( aGhostedSeq );
- delete pProcessor;
}
void SwPageBreakWin::Select( )
diff --git a/sw/source/uibase/docvw/PostItMgr.cxx b/sw/source/uibase/docvw/PostItMgr.cxx
index e370f79..4b6fd1d 100644
--- a/sw/source/uibase/docvw/PostItMgr.cxx
+++ b/sw/source/uibase/docvw/PostItMgr.cxx
@@ -78,6 +78,7 @@
#include "swabstdlg.hxx"
#include "swevent.hxx"
#include "switerator.hxx"
+#include <boost/scoped_ptr.hpp>
// distance between Anchor Y and initial note position
#define POSTIT_INITIAL_ANCHOR_DISTANCE 20
@@ -1270,14 +1271,14 @@ void SwPostItMgr::ExecuteFormatAllDialog(SwView& rView)
SfxItemSet aDlgAttr(*pPool, EE_ITEMS_START, EE_ITEMS_END);
aDlgAttr.Put(aEditAttr);
SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
- SfxAbstractTabDialog* pDlg = pFact->CreateSwCharDlg(rView.GetWindow(), rView, aDlgAttr, DLG_CHAR_ANN);
+ boost::scoped_ptr<SfxAbstractTabDialog> pDlg(pFact->CreateSwCharDlg(rView.GetWindow(), rView, aDlgAttr, DLG_CHAR_ANN));
sal_uInt16 nRet = pDlg->Execute();
if (RET_OK == nRet)
{
aDlgAttr.Put(*pDlg->GetOutputItemSet());
FormatAll(aDlgAttr);
}
- delete pDlg;
+ pDlg.reset();
SetActiveSidebarWin(pOrigActiveWin);
}
diff --git a/sw/source/uibase/docvw/SidebarTxtControl.cxx b/sw/source/uibase/docvw/SidebarTxtControl.cxx
index 5834c02..4d23b44 100644
--- a/sw/source/uibase/docvw/SidebarTxtControl.cxx
+++ b/sw/source/uibase/docvw/SidebarTxtControl.cxx
@@ -52,6 +52,7 @@
#include <wrtsh.hxx>
#include <shellres.hxx>
#include <SwRewriter.hxx>
+#include <boost/scoped_ptr.hpp>
namespace sw { namespace sidebarwindows {
@@ -346,7 +347,7 @@ void SidebarTxtControl::Command( const CommandEvent& rCEvt )
}
else
{
- SfxPopupMenuManager* pMgr = mrDocView.GetViewFrame()->GetDispatcher()->Popup(0, this,&rCEvt.GetMousePosPixel());
+ boost::scoped_ptr<SfxPopupMenuManager> pMgr(mrDocView.GetViewFrame()->GetDispatcher()->Popup(0, this,&rCEvt.GetMousePosPixel()));
((PopupMenu*)pMgr->GetSVMenu())->SetSelectHdl( LINK(this, SidebarTxtControl, Select) );
{
@@ -370,7 +371,6 @@ void SidebarTxtControl::Command( const CommandEvent& rCEvt )
//!! pointer created in the call to Popup.
//!! Otherwise we would have a memory leak (see also #i107205#)
pMgr->Execute( aPos, this );
- delete pMgr;
}
}
else
diff --git a/sw/source/uibase/docvw/SidebarWin.cxx b/sw/source/uibase/docvw/SidebarWin.cxx
index 34aaa23..3abc911 100644
--- a/sw/source/uibase/docvw/SidebarWin.cxx
+++ b/sw/source/uibase/docvw/SidebarWin.cxx
@@ -79,6 +79,7 @@
#include <drawinglayer/primitive2d/polygonprimitive2d.hxx>
#include <drawinglayer/processor2d/processorfromoutputdevice.hxx>
#include <drawinglayer/primitive2d/shadowprimitive2d.hxx>
+#include <boost/scoped_ptr.hpp>
namespace sw { namespace sidebarwindows {
@@ -262,15 +263,15 @@ void SwSidebarWin::Draw(OutputDevice* pDev, const Point& rPt, const Size& rSz, s
mpSidebarTxtControl->Draw(pDev, rPt, rSz, nInFlags);
const drawinglayer::geometry::ViewInformation2D aNewViewInfos;
- drawinglayer::processor2d::BaseProcessor2D * pProcessor =
+ boost::scoped_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor(
drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(
- *pDev, aNewViewInfos );
+ *pDev, aNewViewInfos ));
if (mpAnchor)
pProcessor->process(mpAnchor->getOverlayObjectPrimitive2DSequence());
if (mpTextRangeOverlay)
pProcessor->process(mpTextRangeOverlay->getOverlayObjectPrimitive2DSequence());
- delete pProcessor;
+ pProcessor.reset();
if (mpVScrollbar->IsVisible())
{
diff --git a/sw/source/uibase/docvw/edtwin.cxx b/sw/source/uibase/docvw/edtwin.cxx
index c84e91f..1152150 100644
--- a/sw/source/uibase/docvw/edtwin.cxx
+++ b/sw/source/uibase/docvw/edtwin.cxx
@@ -145,6 +145,8 @@
#include "../../core/inc/rootfrm.hxx"
#include <unotools/syslocaleoptions.hxx>
+#include <boost/scoped_array.hpp>
+#include <boost/scoped_ptr.hpp>
using namespace sw::mark;
using namespace ::com::sun::star;
@@ -5099,7 +5101,7 @@ void SwEditWin::Command( const CommandEvent& rCEvt )
if ( m_rView.GetDocShell()->IsReadOnly() )
{
- SwReadOnlyPopup* pROPopup = new SwReadOnlyPopup( aDocPos, m_rView );
+ boost::scoped_ptr<SwReadOnlyPopup> pROPopup(new SwReadOnlyPopup( aDocPos, m_rView ));
ui::ContextMenuExecuteEvent aEvent;
aEvent.SourceWindow = VCLUnoHelper::GetInterface( this );
@@ -5118,7 +5120,6 @@ void SwEditWin::Command( const CommandEvent& rCEvt )
else
pROPopup->Execute(this, aPixPos);
}
- delete pROPopup;
}
else if ( !m_rView.ExecSpellPopup( aDocPos ) )
GetView().GetViewFrame()->GetDispatcher()->ExecutePopup( 0, this, &aPixPos);
@@ -5409,7 +5410,7 @@ void SwEditWin::Command( const CommandEvent& rCEvt )
}
else
{
- Rectangle* aRects = new Rectangle[ nSize ];
+ boost::scoped_array<Rectangle> aRects(new Rectangle[ nSize ]);
int nRectIndex = 0;
for ( SwIndex nIndex = rStart.nContent; nIndex < rEnd.nContent; ++nIndex )
{
@@ -5419,8 +5420,7 @@ void SwEditWin::Command( const CommandEvent& rCEvt )
aRects[ nRectIndex ] = Rectangle( aRect.Left(), aRect.Top(), aRect.Right(), aRect.Bottom() );
++nRectIndex;
}
- rWin.SetCompositionCharRect( aRects, nSize, bVertical );
- delete[] aRects;
+ rWin.SetCompositionCharRect( aRects.get(), nSize, bVertical );
}
}
bCallBase = false;
commit e6f8ec366bb9b565bc9fc14989b3c28af9693c0d
Author: Takeshi Abe <tabe at fixedpoint.jp>
Date: Wed Jun 4 22:03:59 2014 +0900
Avoid possible memory leaks in case of exceptions
Change-Id: Iaf672463cf51d596148822d9b5effe5ab40f70d4
diff --git a/sw/source/ui/misc/pgfnote.cxx b/sw/source/ui/misc/pgfnote.cxx
index 5b71079..2970490 100644
--- a/sw/source/ui/misc/pgfnote.cxx
+++ b/sw/source/ui/misc/pgfnote.cxx
@@ -40,6 +40,7 @@
#include <globals.hrc>
#include <misc.hrc>
+#include <boost/scoped_ptr.hpp>
using namespace ::com::sun::star;
@@ -143,7 +144,7 @@ SfxTabPage* SwFootNotePage::Create(Window *pParent, const SfxItemSet &rSet)
void SwFootNotePage::Reset(const SfxItemSet &rSet)
{
// if no example exists, otherwise Init here in Activate
- SwPageFtnInfo* pDefFtnInfo = 0;
+ boost::scoped_ptr<SwPageFtnInfo> pDefFtnInfo;
const SwPageFtnInfo* pFtnInfo;
const SfxPoolItem* pItem = SfxTabPage::GetItem(rSet, FN_PARAM_FTN_INFO);
if( pItem )
@@ -154,8 +155,8 @@ void SwFootNotePage::Reset(const SfxItemSet &rSet)
{
// when "standard" is being activated the footnote item is deleted,
// that's why a footnote structure has to be created here
- pDefFtnInfo = new SwPageFtnInfo();
- pFtnInfo = pDefFtnInfo;
+ pDefFtnInfo.reset(new SwPageFtnInfo());
+ pFtnInfo = pDefFtnInfo.get();
}
// footnote area's height
SwTwips lHeight = pFtnInfo->GetHeight();
@@ -250,7 +251,6 @@ void SwFootNotePage::Reset(const SfxItemSet &rSet)
m_pLineDistEdit->SetValue(
m_pLineDistEdit->Normalize(pFtnInfo->GetBottomDist()), FUNIT_TWIP);
ActivatePage( rSet );
- delete pDefFtnInfo;
}
// stuff attributes into the set, when OK
diff --git a/sw/source/ui/misc/srtdlg.cxx b/sw/source/ui/misc/srtdlg.cxx
index 53dcebb..f5f05dd 100644
--- a/sw/source/ui/misc/srtdlg.cxx
+++ b/sw/source/ui/misc/srtdlg.cxx
@@ -39,6 +39,7 @@
#include <node.hxx>
#include <tblsel.hxx>
#include <sfx2/request.hxx>
+#include <boost/scoped_ptr.hpp>
static bool bCheck1 = true;
static bool bCheck2 = false;
@@ -368,16 +369,14 @@ IMPL_LINK_NOARG(SwSortDlg, DelimCharHdl)
{
SfxAllItemSet aSet( rSh.GetAttrPool() );
aSet.Put( SfxInt32Item( SID_ATTR_CHAR, GetDelimChar() ) );
- SfxAbstractDialog* pMap = pFact->CreateSfxDialog( m_pDelimPB, aSet,
- rSh.GetView().GetViewFrame()->GetFrame().GetFrameInterface(), RID_SVXDLG_CHARMAP );
+ boost::scoped_ptr<SfxAbstractDialog> pMap(pFact->CreateSfxDialog( m_pDelimPB, aSet,
+ rSh.GetView().GetViewFrame()->GetFrame().GetFrameInterface(), RID_SVXDLG_CHARMAP ));
if( RET_OK == pMap->Execute() )
{
SFX_ITEMSET_ARG( pMap->GetOutputItemSet(), pItem, SfxInt32Item, SID_ATTR_CHAR, false );
if ( pItem )
m_pDelimEdt->SetText( OUString(pItem->GetValue()) );
}
-
- delete pMap;
}
return 0;
}
diff --git a/sw/source/ui/table/convert.cxx b/sw/source/ui/table/convert.cxx
index 96d2ae1..3c52e34 100644
--- a/sw/source/ui/table/convert.cxx
+++ b/sw/source/ui/table/convert.cxx
@@ -34,6 +34,7 @@
#include "app.hrc"
#include "table.hrc"
#include "swabstdlg.hxx"
+#include <boost/scoped_ptr.hpp>
namespace swui
{
@@ -185,11 +186,10 @@ IMPL_LINK( SwConvertTableDlg, AutoFmtHdl, PushButton*, pButton )
SwAbstractDialogFactory* pFact = swui::GetFactory();
OSL_ENSURE(pFact, "SwAbstractDialogFactory fail!");
- AbstractSwAutoFormatDlg* pDlg = pFact->CreateSwAutoFormatDlg(pButton, pShell, false, pTAutoFmt);
+ boost::scoped_ptr<AbstractSwAutoFormatDlg> pDlg(pFact->CreateSwAutoFormatDlg(pButton, pShell, false, pTAutoFmt));
OSL_ENSURE(pDlg, "Dialogdiet fail!");
if( RET_OK == pDlg->Execute())
pDlg->FillAutoFmtOfIndex( pTAutoFmt );
- delete pDlg;
return 0;
}
diff --git a/sw/source/ui/table/instable.cxx b/sw/source/ui/table/instable.cxx
index fd4f34a..24ffa27 100644
--- a/sw/source/ui/table/instable.cxx
+++ b/sw/source/ui/table/instable.cxx
@@ -32,6 +32,7 @@
#include "table.hrc"
#include "swabstdlg.hxx"
+#include <boost/scoped_ptr.hpp>
namespace swui
{
@@ -190,11 +191,10 @@ IMPL_LINK( SwInsTableDlg, AutoFmtHdl, PushButton*, pButton )
SwAbstractDialogFactory* pFact = swui::GetFactory();
OSL_ENSURE(pFact, "SwAbstractDialogFactory fail!");
- AbstractSwAutoFormatDlg* pDlg = pFact->CreateSwAutoFormatDlg(pButton,pShell, false, pTAutoFmt);
+ boost::scoped_ptr<AbstractSwAutoFormatDlg> pDlg(pFact->CreateSwAutoFormatDlg(pButton,pShell, false, pTAutoFmt));
OSL_ENSURE(pDlg, "Dialogdiet fail!");
if( RET_OK == pDlg->Execute())
pDlg->FillAutoFmtOfIndex( pTAutoFmt );
- delete pDlg;
return 0;
}
diff --git a/sw/source/ui/table/tautofmt.cxx b/sw/source/ui/table/tautofmt.cxx
index f3c1188..063a377 100644
--- a/sw/source/ui/table/tautofmt.cxx
+++ b/sw/source/ui/table/tautofmt.cxx
@@ -38,6 +38,7 @@
#include "tblafmt.hxx"
#include "tautofmt.hxx"
#include "shellres.hxx"
+#include <boost/scoped_ptr.hpp>
using namespace com::sun::star;
@@ -286,10 +287,10 @@ IMPL_LINK_NOARG(SwAutoFormatDlg, AddHdl)
bool bOk = false, bFmtInserted = false;
while( !bOk )
{
- SwStringInputDlg* pDlg = new SwStringInputDlg( this,
+ boost::scoped_ptr<SwStringInputDlg> pDlg(new SwStringInputDlg( this,
aStrTitle,
aStrLabel,
- OUString() );
+ OUString() ));
if( RET_OK == pDlg->Execute() )
{
const OUString aFormatName( pDlg->GetInputString() );
@@ -337,7 +338,6 @@ IMPL_LINK_NOARG(SwAutoFormatDlg, AddHdl)
}
else
bOk = true;
- delete pDlg;
}
return 0;
}
@@ -349,8 +349,8 @@ IMPL_LINK_NOARG(SwAutoFormatDlg, RemoveHdl)
aMessage += m_pLbFormat->GetSelectEntry();
aMessage += "\n";
- MessBox* pBox = new MessBox( this, WinBits( WB_OK_CANCEL ),
- aStrDelTitle, aMessage);
+ boost::scoped_ptr<MessBox> pBox(new MessBox( this, WinBits( WB_OK_CANCEL ),
+ aStrDelTitle, aMessage));
if ( pBox->Execute() == RET_OK )
{
@@ -372,7 +372,7 @@ IMPL_LINK_NOARG(SwAutoFormatDlg, RemoveHdl)
bCoreDataChanged = true;
}
}
- delete pBox;
+ pBox.reset();
SelFmtHdl( 0 );
@@ -384,10 +384,10 @@ IMPL_LINK_NOARG(SwAutoFormatDlg, RenameHdl)
bool bOk = false;
while( !bOk )
{
- SwStringInputDlg* pDlg = new SwStringInputDlg( this,
+ boost::scoped_ptr<SwStringInputDlg> pDlg(new SwStringInputDlg( this,
aStrRenameTitle,
m_pLbFormat->GetSelectEntry(),
- OUString() );
+ OUString() ));
if( pDlg->Execute() == RET_OK )
{
bool bFmtRenamed = false;
@@ -439,7 +439,6 @@ IMPL_LINK_NOARG(SwAutoFormatDlg, RenameHdl)
}
else
bOk = true;
- delete pDlg;
}
return 0;
}
diff --git a/sw/source/uibase/app/docsh2.cxx b/sw/source/uibase/app/docsh2.cxx
index 4ba1dd0..bf2c429 100644
--- a/sw/source/uibase/app/docsh2.cxx
+++ b/sw/source/uibase/app/docsh2.cxx
@@ -486,8 +486,8 @@ void SwDocShell::Execute(SfxRequest& rReq)
if ( aFileName.isEmpty() )
{
SvtPathOptions aPathOpt;
- SfxNewFileDialog* pNewFileDlg =
- new SfxNewFileDialog(&GetView()->GetViewFrame()->GetWindow(), SFXWB_LOAD_TEMPLATE);
+ boost::scoped_ptr<SfxNewFileDialog> pNewFileDlg(
+ new SfxNewFileDialog(&GetView()->GetViewFrame()->GetWindow(), SFXWB_LOAD_TEMPLATE));
pNewFileDlg->SetTemplateFlags(nFlags);
nRet = pNewFileDlg->Execute();
@@ -551,7 +551,6 @@ void SwDocShell::Execute(SfxRequest& rReq)
nFlags = pNewFileDlg->GetTemplateFlags();
rReq.AppendItem( SfxStringItem( SID_TEMPLATE_NAME, aFileName ) );
rReq.AppendItem( SfxInt32Item( SID_TEMPLATE_LOAD, (long) nFlags ) );
- delete pNewFileDlg;
}
if( !aFileName.isEmpty() )
@@ -1062,17 +1061,15 @@ void SwDocShell::Execute(SfxRequest& rReq)
//search for the view that created the call
if(pViewShell->GetObjectShell() == this && pViewShell->GetDispatcher())
{
- SfxFrameItem* pFrameItem = new SfxFrameItem( SID_DOCFRAME,
- pViewShell->GetViewFrame() );
+ boost::scoped_ptr<SfxFrameItem> pFrameItem(new SfxFrameItem( SID_DOCFRAME,
+ pViewShell->GetViewFrame() ));
SfxDispatcher* pDispatch = pViewShell->GetDispatcher();
pDispatch->Execute(
SID_OPENDOC,
SFX_CALLMODE_ASYNCHRON,
&aName,
&aReferer,
- pFrameItem, 0L );
-
- delete pFrameItem;
+ pFrameItem.get(), 0L );
break;
}
pViewShell = SfxViewShell::GetNext(*pViewShell);
diff --git a/sw/source/uibase/app/docshini.cxx b/sw/source/uibase/app/docshini.cxx
index e0d3c77..c7a5130 100644
--- a/sw/source/uibase/app/docshini.cxx
+++ b/sw/source/uibase/app/docshini.cxx
@@ -84,6 +84,7 @@
// text grid
#include <tgrditem.hxx>
+#include <boost/scoped_ptr.hpp>
using namespace ::com::sun::star::i18n;
using namespace ::com::sun::star::lang;
@@ -170,7 +171,7 @@ bool SwDocShell::InitNew( const uno::Reference < embed::XStorage >& xStor )
{
sal_uInt16 nFontWhich = aFontWhich[i];
sal_uInt16 nFontId = aFontIds[i];
- SvxFontItem* pFontItem = 0;
+ boost::scoped_ptr<SvxFontItem> pFontItem;
const SvxLanguageItem& rLang = (const SvxLanguageItem&)pDoc->GetDefault( aLangTypes[i] );
LanguageType eLanguage = rLang.GetLanguage();
if(!pStdFont->IsFontDefault(nFontId))
@@ -183,8 +184,8 @@ bool SwDocShell::InitNew( const uno::Reference < embed::XStorage >& xStor )
aFont = pPrt->GetFontMetric( aFont );
}
- pFontItem = new SvxFontItem(aFont.GetFamily(), aFont.GetName(),
- aEmptyOUStr, aFont.GetPitch(), aFont.GetCharSet(), nFontWhich);
+ pFontItem.reset(new SvxFontItem(aFont.GetFamily(), aFont.GetName(),
+ aEmptyOUStr, aFont.GetPitch(), aFont.GetCharSet(), nFontWhich));
}
else
{
@@ -200,8 +201,8 @@ bool SwDocShell::InitNew( const uno::Reference < embed::XStorage >& xStor )
nFontTypes[i],
eLanguage,
DEFAULTFONT_FLAGS_ONLYONE );
- pFontItem = new SvxFontItem(aLangDefFont.GetFamily(), aLangDefFont.GetName(),
- aEmptyOUStr, aLangDefFont.GetPitch(), aLangDefFont.GetCharSet(), nFontWhich);
+ pFontItem.reset(new SvxFontItem(aLangDefFont.GetFamily(), aLangDefFont.GetName(),
+ aEmptyOUStr, aLangDefFont.GetPitch(), aLangDefFont.GetCharSet(), nFontWhich));
}
pDoc->SetDefault(*pFontItem);
if( !bHTMLTemplSet )
@@ -209,7 +210,7 @@ bool SwDocShell::InitNew( const uno::Reference < embed::XStorage >& xStor )
SwTxtFmtColl *pColl = pDoc->GetTxtCollFromPool(RES_POOLCOLL_STANDARD);
pColl->ResetFmtAttr(nFontWhich);
}
- delete pFontItem;
+ pFontItem.reset();
sal_Int32 nFontHeight = pStdFont->GetFontHeight( FONT_STANDARD, i, eLanguage );
if(nFontHeight <= 0)
nFontHeight = pStdFont->GetDefaultHeightFor( nFontId, eLanguage );
diff --git a/sw/source/uibase/dochdl/gloshdl.cxx b/sw/source/uibase/dochdl/gloshdl.cxx
index 571a59e..68e9c6a 100644
--- a/sw/source/uibase/dochdl/gloshdl.cxx
+++ b/sw/source/uibase/dochdl/gloshdl.cxx
@@ -57,6 +57,7 @@
#include <misc.hrc>
#include <IDocumentFieldsAccess.hxx>
+#include <boost/scoped_ptr.hpp>
using namespace ::com::sun::star;
@@ -75,7 +76,7 @@ void SwGlossaryHdl::GlossaryDlg()
{
SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "Dialogdiet fail!");
- AbstractGlossaryDlg* pDlg = pFact->CreateGlossaryDlg(pViewFrame, this, pWrtShell);
+ boost::scoped_ptr<AbstractGlossaryDlg> pDlg(pFact->CreateGlossaryDlg(pViewFrame, this, pWrtShell));
OSL_ENSURE(pDlg, "Dialogdiet fail!");
OUString sName;
OUString sShortName;
@@ -86,7 +87,7 @@ void SwGlossaryHdl::GlossaryDlg()
sShortName = pDlg->GetCurrShortName();
}
- delete pDlg;
+ pDlg.reset();
DELETEZ(pCurGrp);
if(HasGlossaryList())
{
@@ -448,7 +449,7 @@ bool SwGlossaryHdl::Expand( const OUString& rShortName,
SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "SwAbstractDialogFactory fail!");
- AbstractSwSelGlossaryDlg* pDlg = pFact->CreateSwSelGlossaryDlg(0, aShortName);
+ boost::scoped_ptr<AbstractSwSelGlossaryDlg> pDlg(pFact->CreateSwSelGlossaryDlg(0, aShortName));
OSL_ENSURE(pDlg, "Dialogdiet fail!");
for(sal_uInt16 i = 0; i < aFoundArr.size(); ++i)
{
@@ -459,7 +460,7 @@ bool SwGlossaryHdl::Expand( const OUString& rShortName,
const sal_Int32 nRet = RET_OK == pDlg->Execute()?
pDlg->GetSelectedIdx():
LISTBOX_ENTRY_NOTFOUND;
- delete pDlg;
+ pDlg.reset();
if(LISTBOX_ENTRY_NOTFOUND != nRet)
{
TextBlockInfo_Impl* pData = &aFoundArr[nRet];
@@ -723,7 +724,7 @@ bool SwGlossaryHdl::ImportGlossaries( const OUString& rName )
if( !rName.isEmpty() )
{
const SfxFilter* pFilter = 0;
- SfxMedium* pMed = new SfxMedium( rName, STREAM_READ, 0, 0 );
+ boost::scoped_ptr<SfxMedium> pMed(new SfxMedium( rName, STREAM_READ, 0, 0 ));
SfxFilterMatcher aMatcher( OUString("swriter") );
pMed->UseInteractionHandler( true );
if( !aMatcher.GuessFilter( *pMed, &pFilter, sal_False ) )
@@ -743,7 +744,6 @@ bool SwGlossaryHdl::ImportGlossaries( const OUString& rName )
}
}
}
- DELETEZ(pMed);
}
return bRet;
}
More information about the Libreoffice-commits
mailing list