summaryrefslogtreecommitdiff
path: root/dtrans/source/win32/clipb/WinClipbImpl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'dtrans/source/win32/clipb/WinClipbImpl.cxx')
-rw-r--r--dtrans/source/win32/clipb/WinClipbImpl.cxx41
1 files changed, 21 insertions, 20 deletions
diff --git a/dtrans/source/win32/clipb/WinClipbImpl.cxx b/dtrans/source/win32/clipb/WinClipbImpl.cxx
index 8df5db4a7d03..7ba04d13c4d8 100644
--- a/dtrans/source/win32/clipb/WinClipbImpl.cxx
+++ b/dtrans/source/win32/clipb/WinClipbImpl.cxx
@@ -63,9 +63,10 @@ CWinClipbImpl::CWinClipbImpl( const OUString& aClipboardName, CWinClipboard* the
CWinClipbImpl::~CWinClipbImpl( )
{
- ClearableMutexGuard aGuard( s_aMutex );
- s_pCWinClipbImpl = nullptr;
- aGuard.clear( );
+ {
+ MutexGuard aGuard(s_aMutex);
+ s_pCWinClipbImpl = nullptr;
+ }
unregisterClipboardViewer( );
}
@@ -74,16 +75,17 @@ Reference< XTransferable > CWinClipbImpl::getContents( )
{
// use the shortcut or create a transferable from
// system clipboard
- ClearableMutexGuard aGuard( m_ClipContentMutex );
-
- if ( nullptr != m_pCurrentClipContent )
{
- return m_pCurrentClipContent->m_XTransferable;
- }
+ MutexGuard aGuard(m_ClipContentMutex);
- // release the mutex, so that the variable may be
- // changed by other threads
- aGuard.clear( );
+ if (nullptr != m_pCurrentClipContent)
+ {
+ return m_pCurrentClipContent->m_XTransferable;
+ }
+
+ // release the mutex, so that the variable may be
+ // changed by other threads
+ }
Reference< XTransferable > rClipContent;
@@ -112,15 +114,14 @@ void CWinClipbImpl::setContents(
if ( xTransferable.is( ) )
{
- ClearableMutexGuard aGuard( m_ClipContentMutex );
-
- m_pCurrentClipContent = new CXNotifyingDataObject(
- CDTransObjFactory::createDataObjFromTransferable( m_pWinClipboard->m_xContext , xTransferable ),
- xTransferable,
- xClipboardOwner,
- this );
-
- aGuard.clear( );
+ {
+ MutexGuard aGuard(m_ClipContentMutex);
+
+ m_pCurrentClipContent
+ = new CXNotifyingDataObject(CDTransObjFactory::createDataObjFromTransferable(
+ m_pWinClipboard->m_xContext, xTransferable),
+ xTransferable, xClipboardOwner, this);
+ }
pIDataObj = IDataObjectPtr( m_pCurrentClipContent );
}