summaryrefslogtreecommitdiff
path: root/svtools
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-01-20 15:04:15 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-01-23 07:56:34 +0200
commit71d9f5df23ad3d7de80f86162217c599f84e5dae (patch)
treefc60a97a98faf2488c3c720325b8ac116ab6fbeb /svtools
parent6f1123d3ddd6108f486964182f92854db9a13a7e (diff)
use rtl::Reference in TransferableDataHelper_Impl
instead of manual acquire/release Change-Id: I0d7d71a76c84f61f87399d7b7d93be0e50ccae16
Diffstat (limited to 'svtools')
-rw-r--r--svtools/source/misc/transfer.cxx19
1 files changed, 8 insertions, 11 deletions
diff --git a/svtools/source/misc/transfer.cxx b/svtools/source/misc/transfer.cxx
index 08195e6af508..5e417a718f68 100644
--- a/svtools/source/misc/transfer.cxx
+++ b/svtools/source/misc/transfer.cxx
@@ -1104,10 +1104,9 @@ void TransferableClipboardNotifier::dispose()
struct TransferableDataHelper_Impl
{
::osl::Mutex maMutex;
- TransferableClipboardNotifier* mpClipboardListener;
+ rtl::Reference<TransferableClipboardNotifier> mxClipboardListener;
TransferableDataHelper_Impl()
- :mpClipboardListener( nullptr )
{
}
};
@@ -1152,7 +1151,7 @@ TransferableDataHelper& TransferableDataHelper::operator=( const TransferableDat
{
::osl::MutexGuard aGuard(mxImpl->maMutex);
- const bool bWasClipboardListening = (nullptr != mxImpl->mpClipboardListener);
+ const bool bWasClipboardListening = mxImpl->mxClipboardListener.is();
if (bWasClipboardListening)
StopClipboardListening();
@@ -1173,7 +1172,7 @@ TransferableDataHelper& TransferableDataHelper::operator=(TransferableDataHelper
{
::osl::MutexGuard aGuard(mxImpl->maMutex);
- const bool bWasClipboardListening = (nullptr != mxImpl->mpClipboardListener);
+ const bool bWasClipboardListening = mxImpl->mxClipboardListener.is();
if (bWasClipboardListening)
StopClipboardListening();
@@ -2078,21 +2077,19 @@ bool TransferableDataHelper::StartClipboardListening( )
StopClipboardListening( );
- mxImpl->mpClipboardListener = new TransferableClipboardNotifier(mxClipboard, *this, mxImpl->maMutex);
- mxImpl->mpClipboardListener->acquire();
+ mxImpl->mxClipboardListener = new TransferableClipboardNotifier(mxClipboard, *this, mxImpl->maMutex);
- return mxImpl->mpClipboardListener->isListening();
+ return mxImpl->mxClipboardListener->isListening();
}
void TransferableDataHelper::StopClipboardListening( )
{
::osl::MutexGuard aGuard(mxImpl->maMutex);
- if (mxImpl->mpClipboardListener)
+ if (mxImpl->mxClipboardListener.is())
{
- mxImpl->mpClipboardListener->dispose();
- mxImpl->mpClipboardListener->release();
- mxImpl->mpClipboardListener = nullptr;
+ mxImpl->mxClipboardListener->dispose();
+ mxImpl->mxClipboardListener.clear();
}
}