[Libreoffice-commits] core.git: desktop/source

Andrea Pescetti pescetti at apache.org
Wed Sep 21 08:13:14 UTC 2016


 desktop/source/app/app.cxx |   16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

New commits:
commit 74ac65c49cc1d53b1aa93c2b7c720255867aace2
Author: Andrea Pescetti <pescetti at apache.org>
Date:   Tue Sep 6 19:13:44 2016 +0000

    #i114963# Enable IPC before OpenClients to allow client connections when printing.
    
    Patch By: aptitude at btconnect.com
    
    (cherry picked from commit 602bd18953b23b7aa939cc118d2aa7cb24b172be)
    Conflicts:
    	desktop/source/app/app.cxx

diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index da825bf..0f039a9 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -1931,9 +1931,21 @@ class ExitTimer : public Timer
 IMPL_LINK_NOARG_TYPED(Desktop, OpenClients_Impl, void*, void)
 {
     try {
-        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 RequestHandler::AreRequestsPending() will always return false
+        //
+        // ALSO:
+        //
+        // Multiple clients may request simultaneous connections.
+        // When this server closes down it attempts to recreate the pipe (in RequestHander::Disable()).
+        // 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
         RequestHandler::SetReady();
+        OpenClients();
 
         CloseSplashScreen();
         CheckFirstRun( );


More information about the Libreoffice-commits mailing list