summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2006-04-06 14:43:01 +0000
committerVladimir Glazounov <vg@openoffice.org>2006-04-06 14:43:01 +0000
commit5dec457207c7fff488f667b128f2493b18bd033e (patch)
tree876f9c1b3c5f9f47f871a54614cc44332ebe0fb7 /vcl
parentdf156787d051ae3f1c6393a0e46fa0165f8d844a (diff)
INTEGRATION: CWS vcl56 (1.22.62); FILE MERGED
2006/03/14 17:32:31 pl 1.22.62.1: #i54419# release and reacquire yield mutex over EndDoc call
Diffstat (limited to 'vcl')
-rw-r--r--vcl/win/source/gdi/salprn.cxx9
1 files changed, 9 insertions, 0 deletions
diff --git a/vcl/win/source/gdi/salprn.cxx b/vcl/win/source/gdi/salprn.cxx
index 8ce66998fd14..77cafab791e1 100644
--- a/vcl/win/source/gdi/salprn.cxx
+++ b/vcl/win/source/gdi/salprn.cxx
@@ -1522,8 +1522,17 @@ BOOL WinSalPrinter::EndJob()
mpGraphics = NULL;
}
+ // #i54419# Windows fax printer brings up a dialog in EndDoc
+ // which text previously copied in soffice process can be
+ // pasted to -> deadlock due to mutex not released.
+ // it should be safe to release the yield mutex over the EndDoc
+ // call, however the real solution is supposed to be the threading
+ // framework yet to come.
+ SalData* pSalData = GetSalData();
+ ULONG nAcquire = pSalData->mpFirstInstance->ReleaseYieldMutex();
if( ::EndDoc( hDC ) <= 0 )
err = GetLastError();
+ pSalData->mpFirstInstance->AcquireYieldMutex( nAcquire );
DeleteDC( hDC );
}