summaryrefslogtreecommitdiff
path: root/dtrans
diff options
context:
space:
mode:
authorUrs Fässler <urs@bitzgi.ch>2013-02-14 16:36:06 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2013-02-14 19:56:58 +0100
commit1e95602e5d566468ed075b1813e21ba08039b2db (patch)
tree85bab429fac1c2aea373160e3ecfbfde4ca7e6a1 /dtrans
parentb60ccd4d4ddf4076085890938bcc08aca2737e15 (diff)
Translation of german comment
Change-Id: I2876e33ccfd5dd7b33747d77a4cdaaa03bd01de9
Diffstat (limited to 'dtrans')
-rw-r--r--dtrans/source/win32/clipb/WinClipbImpl.cxx19
1 files changed, 9 insertions, 10 deletions
diff --git a/dtrans/source/win32/clipb/WinClipbImpl.cxx b/dtrans/source/win32/clipb/WinClipbImpl.cxx
index 167e889b39de..76e4c6472bed 100644
--- a/dtrans/source/win32/clipb/WinClipbImpl.cxx
+++ b/dtrans/source/win32/clipb/WinClipbImpl.cxx
@@ -180,16 +180,15 @@ sal_Int8 SAL_CALL CWinClipbImpl::getRenderingCapabilities( ) throw( RuntimeExce
void SAL_CALL CWinClipbImpl::flushClipboard( ) throw( RuntimeException )
{
- // sollte eigentlich hier stehen: ClearableMutexGuard aGuard( m_ClipContentMutex );
- // geht aber nicht, da FlushClipboard zurückruft und das DataObject
- // freigibt und damit würde es einen Deadlock in onReleaseDataObject geben
- // FlushClipboard muß synchron sein, damit das runterfahren ggf. erst weitergeht,
- // wenn alle Clipboard-Formate gerendert wurden
- // die Abfrage ist nötig, damit nur geflusht wird, wenn wir wirklich Clipboardowner
- // sind (ich weiss nicht genau was passiert, wenn man flusht und nicht Clipboard
- // owner ist).
- // eventuell kann man aber die Abfrage in den Clipboard STA Thread verlagern, indem
- // man sich dort das DataObject merkt und vor dem flushen OleIsCurrentClipboard ruft
+ // actually it should be ClearableMutexGuard aGuard( m_ClipContentMutex );
+ // but it does not work since FlushClipboard does a callback and frees DataObject
+ // which results in a deadlock in onReleaseDataObject.
+ // FlushClipboard had to be synchron in order to prevent shutdown until all
+ // clipboard-formats are redered.
+ // The request is needed to prevent flushing if we are not clipboard owner (it is
+ // not known what happens if we flush but aren't clipoard owner).
+ // It may be possible to move the request to the clipboard STA thread by saving the
+ // DataObject and call OleIsCurrentClipboard bevore flushing.
if ( NULL != m_pCurrentClipContent )
m_MtaOleClipboard.flushClipboard( );