diff options
Diffstat (limited to 'src/libs/installer')
-rw-r--r-- | src/libs/installer/fsengineclient.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libs/installer/fsengineclient.cpp b/src/libs/installer/fsengineclient.cpp index 62e3cf871..abc686fd9 100644 --- a/src/libs/installer/fsengineclient.cpp +++ b/src/libs/installer/fsengineclient.cpp @@ -44,6 +44,8 @@ #include "adminauthorization.h" #include "messageboxhandler.h" +#include <QElapsedTimer> + #include <QtCore/QCoreApplication> #include <QtCore/QMutex> #include <QtCore/QProcess> @@ -809,8 +811,14 @@ void FSEngineClientHandler::Private::maybeStartServer() } if (serverStarted) { - QTcpSocket s; // now wait for the socket to arrive - serverStarted = FSEngineClientHandler::instance().connect(&s); + QElapsedTimer t; + t.start(); + while (serverStarting && serverStarted + && t.elapsed() < 30000) { // 30 seconds ought to be enough for the app to start + QTcpSocket s; + if (FSEngineClientHandler::instance().connect(&s)) + serverStarting = false; + } } serverStarting = false; } |