diff options
author | Noel Grandin <noel@peralex.com> | 2016-05-23 13:53:42 +0200 |
---|---|---|
committer | Noel Grandin <noelgrandin@gmail.com> | 2016-05-24 06:54:06 +0000 |
commit | 111de438ea3e512a541281dc0716cc728ea8d152 (patch) | |
tree | 2c9ca866e79ed0cfc9299e553a87239345c515a6 /sd | |
parent | d3f21849ec8580fdb59a1f0b35453657f4050e0f (diff) |
remove some manual ref-counting
triggered when I noticed a class doing acquire() in the constructor and
then release() in the destructor.
found mostly by
git grep -n -B5 -e '->release()'
Change-Id: Ie1abeaed75c1f861df185e3bde680272dbadc97f
Reviewed-on: https://gerrit.libreoffice.org/25363
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Diffstat (limited to 'sd')
-rw-r--r-- | sd/source/ui/inc/DrawViewShell.hxx | 2 | ||||
-rw-r--r-- | sd/source/ui/inc/OutlineViewShell.hxx | 2 | ||||
-rw-r--r-- | sd/source/ui/view/drviews7.cxx | 7 | ||||
-rw-r--r-- | sd/source/ui/view/drviewsa.cxx | 10 | ||||
-rw-r--r-- | sd/source/ui/view/outlnvsh.cxx | 15 |
5 files changed, 16 insertions, 20 deletions
diff --git a/sd/source/ui/inc/DrawViewShell.hxx b/sd/source/ui/inc/DrawViewShell.hxx index b96a0e2bfd6f..e5288089da14 100644 --- a/sd/source/ui/inc/DrawViewShell.hxx +++ b/sd/source/ui/inc/DrawViewShell.hxx @@ -446,7 +446,7 @@ private: css::uno::Reference< css::scanner::XScannerManager2 > mxScannerManager; css::uno::Reference< css::lang::XEventListener > mxScannerListener; - TransferableClipboardListener* mpClipEvtLstnr; + css::uno::Reference<TransferableClipboardListener> mxClipEvtLstnr; bool mbPastePossible; virtual void Notify (SfxBroadcaster& rBC, const SfxHint& rHint) override; diff --git a/sd/source/ui/inc/OutlineViewShell.hxx b/sd/source/ui/inc/OutlineViewShell.hxx index b57bc50151fa..01a57a305ac9 100644 --- a/sd/source/ui/inc/OutlineViewShell.hxx +++ b/sd/source/ui/inc/OutlineViewShell.hxx @@ -152,7 +152,7 @@ private: void ShowSlideShow(SfxRequest& rReq); OutlineView* pOlView; SdPage* pLastPage; // For efficient processing of the preview - TransferableClipboardListener* pClipEvtLstnr; + css::uno::Reference<TransferableClipboardListener> mxClipEvtLstnr; bool bPastePossible; bool mbInitialized; diff --git a/sd/source/ui/view/drviews7.cxx b/sd/source/ui/view/drviews7.cxx index cd3162ec40e2..a774b113c429 100644 --- a/sd/source/ui/view/drviews7.cxx +++ b/sd/source/ui/view/drviews7.cxx @@ -608,7 +608,7 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet ) SfxItemState::DEFAULT == rSet.GetItemState( SID_PASTE_UNFORMATTED ) || SfxItemState::DEFAULT == rSet.GetItemState( SID_CLIPBOARD_FORMAT_ITEMS ) ) { - if ( !mpClipEvtLstnr ) + if ( !mxClipEvtLstnr.is() ) { // avoid clipboard initialization for // read-only presentation views (workaround for NT4.0 @@ -616,9 +616,8 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet ) if( dynamic_cast< const PresentationViewShell *>( this ) == nullptr ) { // create listener - mpClipEvtLstnr = new TransferableClipboardListener( LINK( this, DrawViewShell, ClipboardChanged ) ); - mpClipEvtLstnr->acquire(); - mpClipEvtLstnr->AddRemoveListener( GetActiveWindow(), true ); + mxClipEvtLstnr = new TransferableClipboardListener( LINK( this, DrawViewShell, ClipboardChanged ) ); + mxClipEvtLstnr->AddRemoveListener( GetActiveWindow(), true ); // get initial state TransferableDataHelper aDataHelper( TransferableDataHelper::CreateFromSystemClipboard( GetActiveWindow() ) ); diff --git a/sd/source/ui/view/drviewsa.cxx b/sd/source/ui/view/drviewsa.cxx index 52cd788cf58a..afa1c293533f 100644 --- a/sd/source/ui/view/drviewsa.cxx +++ b/sd/source/ui/view/drviewsa.cxx @@ -177,11 +177,11 @@ DrawViewShell::~DrawViewShell() } } - if ( mpClipEvtLstnr ) + if ( mxClipEvtLstnr.is() ) { - mpClipEvtLstnr->AddRemoveListener( GetActiveWindow(), false ); - mpClipEvtLstnr->ClearCallbackLink(); // prevent callback if another thread is waiting - mpClipEvtLstnr->release(); + mxClipEvtLstnr->AddRemoveListener( GetActiveWindow(), false ); + mxClipEvtLstnr->ClearCallbackLink(); // prevent callback if another thread is waiting + mxClipEvtLstnr.clear(); } delete mpDrawView; @@ -201,7 +201,7 @@ void DrawViewShell::Construct(DrawDocShell* pDocSh, PageKind eInitialPageKind) mpActualPage = nullptr; mbMousePosFreezed = false; mbReadOnly = GetDocSh()->IsReadOnly(); - mpClipEvtLstnr = nullptr; + mxClipEvtLstnr.clear(); mbPastePossible = false; mbIsLayerModeActive = false; diff --git a/sd/source/ui/view/outlnvsh.cxx b/sd/source/ui/view/outlnvsh.cxx index 86f71567221a..3f35f85cfec8 100644 --- a/sd/source/ui/view/outlnvsh.cxx +++ b/sd/source/ui/view/outlnvsh.cxx @@ -191,7 +191,6 @@ OutlineViewShell::OutlineViewShell ( : ViewShell(pFrame, pParentWindow, rViewShellBase), pOlView(nullptr), pLastPage( nullptr ), - pClipEvtLstnr(nullptr), bPastePossible(false), mbInitialized(false) @@ -220,11 +219,10 @@ OutlineViewShell::~OutlineViewShell() mpFrameView->Disconnect(); - if ( pClipEvtLstnr ) + if ( mxClipEvtLstnr.is() ) { - pClipEvtLstnr->AddRemoveListener( GetActiveWindow(), false ); - pClipEvtLstnr->ClearCallbackLink(); // prevent callback if another thread is waiting - pClipEvtLstnr->release(); + mxClipEvtLstnr->AddRemoveListener( GetActiveWindow(), false ); + mxClipEvtLstnr->ClearCallbackLink(); // prevent callback if another thread is waiting } } @@ -883,12 +881,11 @@ void OutlineViewShell::GetMenuState( SfxItemSet &rSet ) if( SfxItemState::DEFAULT == rSet.GetItemState( SID_PASTE ) ) { - if ( !pClipEvtLstnr ) + if ( !mxClipEvtLstnr.is() ) { // create listener - pClipEvtLstnr = new TransferableClipboardListener( LINK( this, OutlineViewShell, ClipboardChanged ) ); - pClipEvtLstnr->acquire(); - pClipEvtLstnr->AddRemoveListener( GetActiveWindow(), true ); + mxClipEvtLstnr = new TransferableClipboardListener( LINK( this, OutlineViewShell, ClipboardChanged ) ); + mxClipEvtLstnr->AddRemoveListener( GetActiveWindow(), true ); // get initial state TransferableDataHelper aDataHelper( TransferableDataHelper::CreateFromSystemClipboard( GetActiveWindow() ) ); |