[Libreoffice-commits] core.git: cui/source
Takeshi Abe
tabe at fixedpoint.jp
Thu Jul 31 03:11:24 PDT 2014
cui/source/tabpages/page.cxx | 4 +-
cui/source/tabpages/paragrph.cxx | 19 +++++---------
cui/source/tabpages/swpossizetabpage.cxx | 4 +-
cui/source/tabpages/tparea.cxx | 42 +++++++++++++------------------
cui/source/tabpages/tpbitmap.cxx | 42 ++++++++++++++-----------------
5 files changed, 50 insertions(+), 61 deletions(-)
New commits:
commit ee8f76a3e89c7070958a4c42b17818a0b90f3f0d
Author: Takeshi Abe <tabe at fixedpoint.jp>
Date: Thu Jul 31 10:32:53 2014 +0900
Avoid possible memory leaks in case of exceptions
Change-Id: I8bdb8ca84b75efde4effba1ce76704d2c7c3f214
diff --git a/cui/source/tabpages/page.cxx b/cui/source/tabpages/page.cxx
index 76d2894..6c02b90 100644
--- a/cui/source/tabpages/page.cxx
+++ b/cui/source/tabpages/page.cxx
@@ -60,6 +60,7 @@
#include <svx/unobrushitemhelper.hxx>
#include <numpages.hxx>
+#include <boost/scoped_ptr.hpp>
// static ----------------------------------------------------------------
@@ -874,7 +875,7 @@ bool SvxPageDescPage::FillItemSet( SfxItemSet* rSet )
(m_pRegisterCB->IsChecked() || m_pRegisterCB->IsValueChangedFromSaved()))
{
const SfxBoolItem& rRegItem = (const SfxBoolItem&)rOldSet.Get(SID_SWREGISTER_MODE);
- SfxBoolItem* pRegItem = (SfxBoolItem*)rRegItem.Clone();
+ boost::scoped_ptr<SfxBoolItem> pRegItem((SfxBoolItem*)rRegItem.Clone());
bool bCheck = m_pRegisterCB->IsChecked();
pRegItem->SetValue(bCheck);
rSet->Put(*pRegItem);
@@ -885,7 +886,6 @@ bool SvxPageDescPage::FillItemSet( SfxItemSet* rSet )
rSet->Put(SfxStringItem(SID_SWREGISTER_COLLECTION,
m_pRegisterLB->GetSelectEntry()));
}
- delete pRegItem;
}
SvxFrameDirection eDirection = m_pTextFlowBox->GetSelectEntryValue();
diff --git a/cui/source/tabpages/paragrph.cxx b/cui/source/tabpages/paragrph.cxx
index bbeb896..21dc407 100644
--- a/cui/source/tabpages/paragrph.cxx
+++ b/cui/source/tabpages/paragrph.cxx
@@ -51,6 +51,7 @@
#include <svl/eitem.hxx>
#include <sfx2/request.hxx>
#include <svl/intitem.hxx>
+#include <boost/scoped_ptr.hpp>
static const sal_uInt16 pStdRanges[] =
{
@@ -383,7 +384,7 @@ bool SvxStdParagraphTabPage::FillItemSet( SfxItemSet* rOutSet )
*rOutSet, SID_ATTR_PARA_REGISTER);
if (!pBoolItem)
return bModified;
- SfxBoolItem* pRegItem = (SfxBoolItem*)pBoolItem->Clone();
+ boost::scoped_ptr<SfxBoolItem> pRegItem((SfxBoolItem*)pBoolItem->Clone());
sal_uInt16 _nWhich = GetWhich( SID_ATTR_PARA_REGISTER );
bool bSet = pRegItem->GetValue();
@@ -395,7 +396,6 @@ bool SvxStdParagraphTabPage::FillItemSet( SfxItemSet* rOutSet )
}
else if ( SFX_ITEM_DEFAULT == GetItemSet().GetItemState( _nWhich, false ) )
rOutSet->ClearItem(_nWhich);
- delete pRegItem;
}
return bModified;
@@ -2155,29 +2155,26 @@ bool SvxAsianTabPage::FillItemSet( SfxItemSet* rSet )
SfxItemPool* pPool = rSet->GetPool();
if (m_pScriptSpaceCB->IsEnabled() && m_pScriptSpaceCB->IsValueChangedFromSaved())
{
- SfxBoolItem* pNewItem = (SfxBoolItem*)rSet->Get(
- pPool->GetWhich(SID_ATTR_PARA_SCRIPTSPACE)).Clone();
+ boost::scoped_ptr<SfxBoolItem> pNewItem((SfxBoolItem*)rSet->Get(
+ pPool->GetWhich(SID_ATTR_PARA_SCRIPTSPACE)).Clone());
pNewItem->SetValue(m_pScriptSpaceCB->IsChecked());
rSet->Put(*pNewItem);
- delete pNewItem;
bRet = true;
}
if (m_pHangingPunctCB->IsEnabled() && m_pHangingPunctCB->IsValueChangedFromSaved())
{
- SfxBoolItem* pNewItem = (SfxBoolItem*)rSet->Get(
- pPool->GetWhich(SID_ATTR_PARA_HANGPUNCTUATION)).Clone();
+ boost::scoped_ptr<SfxBoolItem> pNewItem((SfxBoolItem*)rSet->Get(
+ pPool->GetWhich(SID_ATTR_PARA_HANGPUNCTUATION)).Clone());
pNewItem->SetValue(m_pHangingPunctCB->IsChecked());
rSet->Put(*pNewItem);
- delete pNewItem;
bRet = true;
}
if (m_pForbiddenRulesCB->IsEnabled() && m_pForbiddenRulesCB->IsValueChangedFromSaved())
{
- SfxBoolItem* pNewItem = (SfxBoolItem*)rSet->Get(
- pPool->GetWhich(SID_ATTR_PARA_FORBIDDEN_RULES)).Clone();
+ boost::scoped_ptr<SfxBoolItem> pNewItem((SfxBoolItem*)rSet->Get(
+ pPool->GetWhich(SID_ATTR_PARA_FORBIDDEN_RULES)).Clone());
pNewItem->SetValue(m_pForbiddenRulesCB->IsChecked());
rSet->Put(*pNewItem);
- delete pNewItem;
bRet = true;
}
return bRet;
diff --git a/cui/source/tabpages/swpossizetabpage.cxx b/cui/source/tabpages/swpossizetabpage.cxx
index 666bc03..b471078 100644
--- a/cui/source/tabpages/swpossizetabpage.cxx
+++ b/cui/source/tabpages/swpossizetabpage.cxx
@@ -35,6 +35,7 @@
#include <com/sun/star/text/VertOrientation.hpp>
#include <com/sun/star/text/RelOrientation.hpp>
#include <svx/dialogs.hrc>
+#include <boost/scoped_ptr.hpp>
using namespace ::com::sun::star::text;
#define SwFPos SvxSwFramePosString
@@ -857,10 +858,9 @@ bool SvxSwPosSizeTabPage::FillItemSet( SfxItemSet* rSet)
const SfxPoolItem* pItem = GetItem( rOldSet, SID_SW_FOLLOW_TEXT_FLOW);
if(pItem)
{
- SfxBoolItem* pFollow = static_cast<SfxBoolItem*>(pItem->Clone());
+ boost::scoped_ptr<SfxBoolItem> pFollow(static_cast<SfxBoolItem*>(pItem->Clone()));
pFollow->SetValue(m_pFollowCB->IsChecked());
bModified |= 0 != rSet->Put(*pFollow);
- delete pFollow;
}
}
}
diff --git a/cui/source/tabpages/tparea.cxx b/cui/source/tabpages/tparea.cxx
index cc89a49..1b7a65e 100644
--- a/cui/source/tabpages/tparea.cxx
+++ b/cui/source/tabpages/tparea.cxx
@@ -44,6 +44,7 @@
//UUUU
#include "sfx2/opengrf.hxx"
#include <vcl/msgbox.hxx>
+#include <boost/scoped_ptr.hpp>
using namespace com::sun::star;
@@ -1245,11 +1246,11 @@ bool SvxAreaTabPage::FillItemSet( SfxItemSet* rAttrs )
m_pTsbOriginal->IsEnabled() &&
m_pTsbScale->GetSavedValue() != TRISTATE_TRUE ) )
{
- XFillBmpSizeLogItem* pItem = NULL;
+ boost::scoped_ptr<XFillBmpSizeLogItem> pItem;
if( m_pTsbScale->IsEnabled() )
- pItem = new XFillBmpSizeLogItem( eState == TRISTATE_FALSE );
+ pItem.reset(new XFillBmpSizeLogItem( eState == TRISTATE_FALSE ));
else if( m_pTsbOriginal->IsEnabled() && m_pTsbOriginal->GetState() == TRISTATE_TRUE )
- pItem = new XFillBmpSizeLogItem( true );
+ pItem.reset(new XFillBmpSizeLogItem( true ));
if( pItem )
{
@@ -1259,14 +1260,13 @@ bool SvxAreaTabPage::FillItemSet( SfxItemSet* rAttrs )
rAttrs->Put( *pItem );
bModified = true;
}
- delete pItem;
}
}
//aMtrFldXSize
OUString aStr = m_pMtrFldXSize->GetText();
{
- XFillBmpSizeXItem* pItem = NULL;
+ boost::scoped_ptr<XFillBmpSizeXItem> pItem;
TriState eScaleState = m_pTsbScale->GetState();
if( m_pMtrFldXSize->IsEnabled() &&
@@ -1274,18 +1274,18 @@ bool SvxAreaTabPage::FillItemSet( SfxItemSet* rAttrs )
aStr != m_pMtrFldXSize->GetSavedValue() )
{
if( eScaleState == TRISTATE_FALSE )
- pItem = new XFillBmpSizeXItem( GetCoreValue( *m_pMtrFldXSize, ePoolUnit ) );
+ pItem.reset(new XFillBmpSizeXItem( GetCoreValue( *m_pMtrFldXSize, ePoolUnit ) ));
else
{
// Percentage values are set negatively, so that
// they aren't scaled; this is considered in the item.
- pItem = new XFillBmpSizeXItem( -labs( static_cast<long>(m_pMtrFldXSize->GetValue()) ) );
+ pItem.reset(new XFillBmpSizeXItem( -labs( static_cast<long>(m_pMtrFldXSize->GetValue()) ) ));
}
}
else if( m_pTsbOriginal->IsEnabled() &&
m_pTsbOriginal->GetState() == TRISTATE_TRUE &&
!m_pMtrFldXSize->GetSavedValue().isEmpty() )
- pItem = new XFillBmpSizeXItem( 0 );
+ pItem.reset(new XFillBmpSizeXItem( 0 ));
if( pItem )
{
@@ -1295,14 +1295,13 @@ bool SvxAreaTabPage::FillItemSet( SfxItemSet* rAttrs )
rAttrs->Put( *pItem );
bModified = true;
}
- delete pItem;
}
}
//aMtrFldYSize
aStr = m_pMtrFldYSize->GetText();
{
- XFillBmpSizeYItem* pItem = NULL;
+ boost::scoped_ptr<XFillBmpSizeYItem> pItem;
TriState eScaleState = m_pTsbScale->GetState();
if( m_pMtrFldYSize->IsEnabled() &&
@@ -1310,19 +1309,19 @@ bool SvxAreaTabPage::FillItemSet( SfxItemSet* rAttrs )
aStr != m_pMtrFldYSize->GetSavedValue() )
{
if( eScaleState == TRISTATE_FALSE )
- pItem = new XFillBmpSizeYItem( GetCoreValue( *m_pMtrFldYSize, ePoolUnit ) );
+ pItem.reset(new XFillBmpSizeYItem( GetCoreValue( *m_pMtrFldYSize, ePoolUnit ) ));
else
{
// Percentage values are set negatively, so that
// they aren't scaled by the MetricItem;
// this is considered in the item.
- pItem = new XFillBmpSizeYItem( -labs( static_cast<long>(m_pMtrFldYSize->GetValue()) ) );
+ pItem.reset(new XFillBmpSizeYItem( -labs( static_cast<long>(m_pMtrFldYSize->GetValue()) ) ));
}
}
else if( m_pTsbOriginal->IsEnabled() &&
m_pTsbOriginal->GetState() == TRISTATE_TRUE &&
!m_pMtrFldYSize->GetSavedValue().isEmpty() )
- pItem = new XFillBmpSizeYItem( 0 );
+ pItem.reset(new XFillBmpSizeYItem( 0 ));
if( pItem )
{
@@ -1332,7 +1331,6 @@ bool SvxAreaTabPage::FillItemSet( SfxItemSet* rAttrs )
rAttrs->Put( *pItem );
bModified = true;
}
- delete pItem;
}
}
@@ -2262,17 +2260,15 @@ IMPL_LINK_NOARG(SvxAreaTabPage, ModifyTileHdl_Impl)
if( m_pMtrFldXSize->IsEnabled() )
{
- XFillBmpSizeXItem* pItem = NULL;
+ boost::scoped_ptr<XFillBmpSizeXItem> pItem;
TriState eScaleState = m_pTsbScale->GetState();
if( eScaleState == TRISTATE_FALSE )
- pItem = new XFillBmpSizeXItem( GetCoreValue( *m_pMtrFldXSize, ePoolUnit ) );
+ pItem.reset(new XFillBmpSizeXItem( GetCoreValue( *m_pMtrFldXSize, ePoolUnit ) ));
else
- pItem = new XFillBmpSizeXItem( -labs( static_cast<long>(m_pMtrFldXSize->GetValue()) ) );
+ pItem.reset(new XFillBmpSizeXItem( -labs( static_cast<long>(m_pMtrFldXSize->GetValue()) ) ));
rXFSet.Put( *pItem );
-
- delete pItem;
}
else if( m_pTsbOriginal->IsEnabled() && m_pTsbOriginal->GetState() == TRISTATE_TRUE )
{
@@ -2283,17 +2279,15 @@ IMPL_LINK_NOARG(SvxAreaTabPage, ModifyTileHdl_Impl)
if( m_pMtrFldYSize->IsEnabled() )
{
- XFillBmpSizeYItem* pItem = NULL;
+ boost::scoped_ptr<XFillBmpSizeYItem> pItem;
TriState eScaleState = m_pTsbScale->GetState();
if( eScaleState == TRISTATE_FALSE )
- pItem = new XFillBmpSizeYItem( GetCoreValue( *m_pMtrFldYSize, ePoolUnit ) );
+ pItem.reset(new XFillBmpSizeYItem( GetCoreValue( *m_pMtrFldYSize, ePoolUnit ) ));
else
- pItem = new XFillBmpSizeYItem( -labs( static_cast<long>(m_pMtrFldYSize->GetValue()) ) );
+ pItem.reset(new XFillBmpSizeYItem( -labs( static_cast<long>(m_pMtrFldYSize->GetValue()) ) ));
rXFSet.Put( *pItem );
-
- delete pItem;
}
else if( m_pTsbOriginal->IsEnabled() && m_pTsbOriginal->GetState() == TRISTATE_TRUE )
{
diff --git a/cui/source/tabpages/tpbitmap.cxx b/cui/source/tabpages/tpbitmap.cxx
index c8d315b..85938a9 100644
--- a/cui/source/tabpages/tpbitmap.cxx
+++ b/cui/source/tabpages/tpbitmap.cxx
@@ -47,6 +47,7 @@
#include <dialmgr.hxx>
#include "sfx2/opengrf.hxx"
#include "paragrph.hrc"
+#include <boost/scoped_ptr.hpp>
using namespace com::sun::star;
@@ -301,12 +302,12 @@ SfxTabPage* SvxBitmapTabPage::Create( Window* pWindow,
IMPL_LINK_NOARG(SvxBitmapTabPage, ChangeBitmapHdl_Impl)
{
- GraphicObject* pGraphicObject = 0;
+ boost::scoped_ptr<GraphicObject> pGraphicObject;
int nPos(m_pLbBitmaps->GetSelectEntryPos());
if(LISTBOX_ENTRY_NOTFOUND != nPos)
{
- pGraphicObject = new GraphicObject(pBitmapList->GetBitmap(nPos)->GetGraphicObject());
+ pGraphicObject.reset(new GraphicObject(pBitmapList->GetBitmap(nPos)->GetGraphicObject()));
}
else
{
@@ -318,7 +319,7 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ChangeBitmapHdl_Impl)
if((drawing::FillStyle_BITMAP == eXFS) && (SFX_ITEM_SET == rOutAttrs.GetItemState(GetWhich(XATTR_FILLBITMAP), true, &pPoolItem)))
{
- pGraphicObject = new GraphicObject(((const XFillBitmapItem*)pPoolItem)->GetGraphicObject());
+ pGraphicObject.reset(new GraphicObject(((const XFillBitmapItem*)pPoolItem)->GetGraphicObject()));
}
}
@@ -329,7 +330,7 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ChangeBitmapHdl_Impl)
if(LISTBOX_ENTRY_NOTFOUND != nPos)
{
- pGraphicObject = new GraphicObject(pBitmapList->GetBitmap(nPos)->GetGraphicObject());
+ pGraphicObject.reset(new GraphicObject(pBitmapList->GetBitmap(nPos)->GetGraphicObject()));
}
}
}
@@ -411,7 +412,6 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ChangeBitmapHdl_Impl)
m_pCtlPreview->Invalidate();
bBmpChanged = false;
- delete pGraphicObject;
}
return 0;
@@ -428,10 +428,10 @@ long SvxBitmapTabPage::CheckChanges_Impl()
{
ResMgr& rMgr = CUI_MGR();
Image aWarningBoxImage = WarningBox::GetStandardImage();
- SvxMessDialog* aMessDlg = new SvxMessDialog(GetParentDialog(),
+ boost::scoped_ptr<SvxMessDialog> aMessDlg(new SvxMessDialog(GetParentDialog(),
SVX_RES( RID_SVXSTR_BITMAP ),
CUI_RES( RID_SVXSTR_ASK_CHANGE_BITMAP ),
- &aWarningBoxImage );
+ &aWarningBoxImage ));
DBG_ASSERT(aMessDlg, "Dialog creation failed!");
aMessDlg->SetButtonText( MESS_BTN_1, ResId( RID_SVXSTR_CHANGE, rMgr ) );
aMessDlg->SetButtonText( MESS_BTN_2, ResId( RID_SVXSTR_ADD, rMgr ) );
@@ -456,7 +456,6 @@ long SvxBitmapTabPage::CheckChanges_Impl()
case RET_CANCEL:
break;
}
- delete aMessDlg;
}
}
nPos = m_pLbBitmaps->GetSelectEntryPos();
@@ -492,9 +491,9 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ClickAddHdl_Impl)
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
DBG_ASSERT(pFact, "Dialog creation failed!");
- AbstractSvxNameDialog* pDlg = pFact->CreateSvxNameDialog( GetParentDialog(), aName, aDesc );
+ boost::scoped_ptr<AbstractSvxNameDialog> pDlg(pFact->CreateSvxNameDialog( GetParentDialog(), aName, aDesc ));
DBG_ASSERT(pDlg, "Dialog creation failed!");
- MessageDialog* pWarnBox = NULL;
+ boost::scoped_ptr<MessageDialog> pWarnBox;
sal_uInt16 nError(1);
while( pDlg->Execute() == RET_OK )
@@ -514,17 +513,17 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ClickAddHdl_Impl)
if( !pWarnBox )
{
- pWarnBox = new MessageDialog( GetParentDialog()
+ pWarnBox.reset(new MessageDialog( GetParentDialog()
,"DuplicateNameDialog"
- ,"cui/ui/queryduplicatedialog.ui");
+ ,"cui/ui/queryduplicatedialog.ui"));
}
if( pWarnBox->Execute() != RET_OK )
break;
}
- delete pDlg;
- delete pWarnBox;
+ pDlg.reset();
+ pWarnBox.reset();
if( !nError )
{
@@ -594,14 +593,14 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ClickImportHdl_Impl)
if( !nError )
{
OUString aDesc( ResId(RID_SVXSTR_DESC_EXT_BITMAP, rMgr) );
- MessageDialog* pWarnBox = NULL;
+ boost::scoped_ptr<MessageDialog> pWarnBox;
// convert file URL to UI name
OUString aName;
INetURLObject aURL( aDlg.GetPath() );
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
DBG_ASSERT(pFact, "Dialog creation failed!");
- AbstractSvxNameDialog* pDlg = pFact->CreateSvxNameDialog( GetParentDialog(), aURL.GetName().getToken( 0, '.' ), aDesc );
+ boost::scoped_ptr<AbstractSvxNameDialog> pDlg(pFact->CreateSvxNameDialog( GetParentDialog(), aURL.GetName().getToken( 0, '.' ), aDesc ));
DBG_ASSERT(pDlg, "Dialog creation failed!");
nError = 1;
@@ -623,17 +622,17 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ClickImportHdl_Impl)
if( !pWarnBox )
{
- pWarnBox = new MessageDialog( GetParentDialog()
+ pWarnBox.reset(new MessageDialog( GetParentDialog()
,"DuplicateNameDialog"
- ,"cui/ui/queryduplicatedialog.ui");
+ ,"cui/ui/queryduplicatedialog.ui"));
}
if( pWarnBox->Execute() != RET_OK )
break;
}
- delete pDlg;
- delete pWarnBox;
+ pDlg.reset();
+ pWarnBox.reset();
if( !nError )
{
@@ -674,7 +673,7 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ClickModifyHdl_Impl)
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
DBG_ASSERT(pFact, "Dialog creation failed!");
- AbstractSvxNameDialog* pDlg = pFact->CreateSvxNameDialog( GetParentDialog(), aName, aDesc );
+ boost::scoped_ptr<AbstractSvxNameDialog> pDlg(pFact->CreateSvxNameDialog( GetParentDialog(), aName, aDesc ));
DBG_ASSERT(pDlg, "Dialog creation failed!");
long nCount = pBitmapList->Count();
@@ -719,7 +718,6 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ClickModifyHdl_Impl)
aBox.Execute();
}
}
- delete pDlg;
}
return 0L;
}
More information about the Libreoffice-commits
mailing list