From 8374bbe589511721cbca6adacf15380c5f2dc0f5 Mon Sep 17 00:00:00 2001 From: Takeshi Abe Date: Wed, 2 Jul 2014 22:05:18 +0900 Subject: Avoid possible memory leaks in case of exceptions Change-Id: I7878d425cea773338799fb784c25039e6b923e47 --- svx/source/tbxctrls/fillctrl.cxx | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'svx/source/tbxctrls/fillctrl.cxx') diff --git a/svx/source/tbxctrls/fillctrl.cxx b/svx/source/tbxctrls/fillctrl.cxx index 4a26ac4840c7..097d47506467 100644 --- a/svx/source/tbxctrls/fillctrl.cxx +++ b/svx/source/tbxctrls/fillctrl.cxx @@ -36,6 +36,7 @@ #include #include #include "helpid.hrc" +#include using namespace ::com::sun::star::uno; using namespace ::com::sun::star::util; @@ -317,9 +318,9 @@ void SvxFillToolBoxControl::Update(const SfxPoolItem* pState) } aTmpStr = TMP_STR_BEGIN + aString + TMP_STR_END; - XGradientEntry* pEntry = new XGradientEntry(mpGradientItem->GetGradientValue(), aTmpStr); + boost::scoped_ptr pEntry(new XGradientEntry(mpGradientItem->GetGradientValue(), aTmpStr)); XGradientList aGradientList( "", ""/*TODO?*/ ); - aGradientList.Insert( pEntry ); + aGradientList.Insert( pEntry.get() ); aGradientList.SetDirty( false ); const Bitmap aBmp = aGradientList.GetUiBitmap( 0 ); @@ -330,7 +331,6 @@ void SvxFillToolBoxControl::Update(const SfxPoolItem* pState) } aGradientList.Remove( 0 ); - delete pEntry; } } else @@ -363,9 +363,9 @@ void SvxFillToolBoxControl::Update(const SfxPoolItem* pState) } aTmpStr = TMP_STR_BEGIN + aString + TMP_STR_END; - XHatchEntry* pEntry = new XHatchEntry(mpHatchItem->GetHatchValue(), aTmpStr); + boost::scoped_ptr pEntry(new XHatchEntry(mpHatchItem->GetHatchValue(), aTmpStr)); XHatchList aHatchList( "", ""/*TODO?*/ ); - aHatchList.Insert( pEntry ); + aHatchList.Insert( pEntry.get() ); aHatchList.SetDirty( false ); const Bitmap aBmp = aHatchList.GetUiBitmap( 0 ); @@ -376,7 +376,6 @@ void SvxFillToolBoxControl::Update(const SfxPoolItem* pState) } aHatchList.Remove( 0 ); - delete pEntry; } } else @@ -409,16 +408,15 @@ void SvxFillToolBoxControl::Update(const SfxPoolItem* pState) } aTmpStr = TMP_STR_BEGIN + aString + TMP_STR_END; - XBitmapEntry* pEntry = new XBitmapEntry(mpBitmapItem->GetGraphicObject(), aTmpStr); + boost::scoped_ptr pEntry(new XBitmapEntry(mpBitmapItem->GetGraphicObject(), aTmpStr)); XBitmapListRef xBitmapList = XPropertyList::CreatePropertyList(XBITMAP_LIST, OUString("TmpList"), ""/*TODO?*/)->AsBitmapList(); - xBitmapList->Insert( pEntry ); + xBitmapList->Insert( pEntry.get() ); xBitmapList->SetDirty( false ); mpFillAttrLB->Fill( xBitmapList ); mpFillAttrLB->SelectEntryPos(mpFillAttrLB->GetEntryCount() - 1); xBitmapList->Remove( 0 ); - delete pEntry; } } else -- cgit