Kaydet (Commit) 71d9f5df authored tarafından Noel Grandin's avatar Noel Grandin

use rtl::Reference in TransferableDataHelper_Impl

instead of manual acquire/release

Change-Id: I0d7d71a76c84f61f87399d7b7d93be0e50ccae16
üst 6f1123d3
......@@ -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();
}
}
......
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