diff options
author | Takeshi Abe <tabe@fixedpoint.jp> | 2014-07-02 22:05:18 +0900 |
---|---|---|
committer | Takeshi Abe <tabe@fixedpoint.jp> | 2014-07-03 00:19:25 +0900 |
commit | 8374bbe589511721cbca6adacf15380c5f2dc0f5 (patch) | |
tree | b624c3e7462155fff46c6c8e8ed2c594a8b62e84 /svx/source/tbxctrls/fillctrl.cxx | |
parent | 7a85ec95b0efcf7fb9b5db0037bb1de2aadfc4fd (diff) |
Avoid possible memory leaks in case of exceptions
Change-Id: I7878d425cea773338799fb784c25039e6b923e47
Diffstat (limited to 'svx/source/tbxctrls/fillctrl.cxx')
-rw-r--r-- | svx/source/tbxctrls/fillctrl.cxx | 16 |
1 files changed, 7 insertions, 9 deletions
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 <svx/itemwin.hxx> #include <svx/dialmgr.hxx> #include "helpid.hrc" +#include <boost/scoped_ptr.hpp> 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<XGradientEntry> 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<XHatchEntry> 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<XBitmapEntry> 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 |