Kaydet (Commit) 602bd189 authored tarafından Andrea Pescetti's avatar Andrea Pescetti

#i114963# Enable IPC before OpenClients to allow client connections when printing.

Patch By: aptitude@btconnect.com
üst ebd68735
......@@ -2533,9 +2533,21 @@ IMPL_LINK( Desktop, OpenClients_Impl, void*, EMPTYARG )
{
RTL_LOGFILE_PRODUCT_CONTEXT( aLog, "PERFORMANCE - DesktopOpenClients_Impl()" );
OpenClients();
// #114963#
// Enable IPC thread before OpenClients
//
// This is because it is possible for another client to connect during the OpenClients() call.
// This can happen on Windows when document is printed (not opened) and another client wants to print (when printing multiple documents).
// If the IPC thread is enabled after OpenClients, then the client will not be processed because the application will exit after printing. i.e OfficeIPCThread::AreRequestsPending() will always return false
//
// ALSO:
//
// Multiple clients may request simultaneous connections.
// When this server closes down it attempts to recreate the pipe (in DisableOfficeIPCThread()).
// It's possible that the client has a pending connection request.
// When the IPC thread is not running, this connection locks (because maPipe.accept()) is never called
OfficeIPCThread::SetReady();
OpenClients();
// CloseStartupScreen();
CloseSplashScreen();
......
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