Kaydet (Commit) 5d9e3beb authored tarafından Noel Grandin's avatar Noel Grandin

loplugin:useuniqueptr in SvxClipBoardControl

Change-Id: Ib9e3d20680cba684fea8b586a5ca4c5835ca6b42
Reviewed-on: https://gerrit.libreoffice.org/49932Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst d3c7a780
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include <svl/poolitem.hxx> #include <svl/poolitem.hxx>
#include <svx/svxdllapi.h> #include <svx/svxdllapi.h>
#include <vcl/vclptr.hxx> #include <vcl/vclptr.hxx>
#include <memory>
class PopupMenu; class PopupMenu;
class SfxModule; class SfxModule;
...@@ -32,7 +33,8 @@ class ToolBox; ...@@ -32,7 +33,8 @@ class ToolBox;
class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxClipBoardControl : public SfxToolBoxControl class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxClipBoardControl : public SfxToolBoxControl
{ {
SfxPoolItem* pClipboardFmtItem; std::unique_ptr<SfxPoolItem>
pClipboardFmtItem;
VclPtr<PopupMenu> pPopup; VclPtr<PopupMenu> pPopup;
bool bDisabled; bool bDisabled;
......
...@@ -42,7 +42,6 @@ SvxClipBoardControl::SvxClipBoardControl( ...@@ -42,7 +42,6 @@ SvxClipBoardControl::SvxClipBoardControl(
sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ) : sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ) :
SfxToolBoxControl( nSlotId, nId, rTbx ), SfxToolBoxControl( nSlotId, nId, rTbx ),
pClipboardFmtItem( nullptr ),
pPopup( nullptr ), pPopup( nullptr ),
bDisabled( false ) bDisabled( false )
{ {
...@@ -56,13 +55,12 @@ SvxClipBoardControl::SvxClipBoardControl( ...@@ -56,13 +55,12 @@ SvxClipBoardControl::SvxClipBoardControl(
SvxClipBoardControl::~SvxClipBoardControl() SvxClipBoardControl::~SvxClipBoardControl()
{ {
DelPopup(); DelPopup();
delete pClipboardFmtItem;
} }
VclPtr<SfxPopupWindow> SvxClipBoardControl::CreatePopupWindow() VclPtr<SfxPopupWindow> SvxClipBoardControl::CreatePopupWindow()
{ {
const SvxClipboardFormatItem* pFmtItem = dynamic_cast<SvxClipboardFormatItem*>( pClipboardFmtItem ); const SvxClipboardFormatItem* pFmtItem = dynamic_cast<SvxClipboardFormatItem*>( pClipboardFmtItem.get() );
if ( pFmtItem ) if ( pFmtItem )
{ {
if (pPopup) if (pPopup)
...@@ -111,10 +109,10 @@ void SvxClipBoardControl::StateChanged( sal_uInt16 nSID, SfxItemState eState, co ...@@ -111,10 +109,10 @@ void SvxClipBoardControl::StateChanged( sal_uInt16 nSID, SfxItemState eState, co
{ {
if ( SID_CLIPBOARD_FORMAT_ITEMS == nSID ) if ( SID_CLIPBOARD_FORMAT_ITEMS == nSID )
{ {
DELETEZ( pClipboardFmtItem ); pClipboardFmtItem.reset();
if ( eState >= SfxItemState::DEFAULT ) if ( eState >= SfxItemState::DEFAULT )
{ {
pClipboardFmtItem = pState->Clone(); pClipboardFmtItem.reset( pState->Clone() );
GetToolBox().SetItemBits( GetId(), GetToolBox().GetItemBits( GetId() ) | ToolBoxItemBits::DROPDOWN ); GetToolBox().SetItemBits( GetId(), GetToolBox().GetItemBits( GetId() ) | ToolBoxItemBits::DROPDOWN );
} }
else if ( !bDisabled ) else if ( !bDisabled )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment