tdf#127192 Printing in main thread
the wollmux has change the dialogs form swing to the LO-Dialogs, and when printig with MS-PDF then LO hang on this line. The reason is wollmux run in it own thread, but this thread has no win-message-pump, when the printer-driver would open the FileSave-Dialog then it hangs, because the message-pump is missing in this thread. The swing has made it own win-message-pump for this thread. Change-Id: Ia5131464dcc5f166133a3302d29550e945dd1026 Reviewed-on: https://gerrit.libreoffice.org/78170 Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Reviewed-by: Juergen Funk (CIB) <juergen.funk_ml@cib.de> Tested-by: Juergen Funk (CIB) <juergen.funk_ml@cib.de>
This commit is contained in:
committed by
Juergen Funk (CIB)
parent
63ee66fd96
commit
c16bfef0d5
@@ -52,6 +52,8 @@
|
||||
#include <com/sun/star/lang/XInitialization.hpp>
|
||||
#include <comphelper/processfactory.hxx>
|
||||
|
||||
#include <vcl/threadex.hxx>
|
||||
|
||||
#include <malloc.h>
|
||||
|
||||
#include <winspool.h>
|
||||
@@ -1502,8 +1504,8 @@ bool WinSalPrinter::StartJob( const OUString* pFileName,
|
||||
else
|
||||
aInfo.lpszOutput = nullptr;
|
||||
|
||||
// start Job
|
||||
int nRet = lcl_StartDocW( hDC, &aInfo, this );
|
||||
// start Job, in the main thread
|
||||
int nRet = vcl::solarthread::syncExecute([hDC, this, &aInfo]() -> int { return lcl_StartDocW(hDC, &aInfo, this); });
|
||||
|
||||
if ( nRet <= 0 )
|
||||
{
|
||||
|
Reference in New Issue
Block a user