diff --git a/src/shared/qtsingleapplication/qtlocalpeer.cpp b/src/shared/qtsingleapplication/qtlocalpeer.cpp index 4b68c67c3dd8b99c2bd6644056d15f49ac1d4651..452d43545a30d859f859baa085fce1b26572638b 100644 --- a/src/shared/qtsingleapplication/qtlocalpeer.cpp +++ b/src/shared/qtsingleapplication/qtlocalpeer.cpp @@ -94,9 +94,9 @@ bool QtLocalPeer::isClient() if (!lockFile.lock(QtLockedFile::WriteLock, false)) return true; + if (!QLocalServer::removeServer(socketName)) + qWarning("QtSingleCoreApplication: could not cleanup socket"); bool res = server->listen(socketName); - if (!res && server->serverError() == QAbstractSocket::AddressInUseError) - res = server->listen(socketName); // ### Workaround 4.4.0tp bug if (!res) qWarning("QtSingleCoreApplication: listen on local socket failed, %s", qPrintable(server->errorString())); QObject::connect(server, SIGNAL(newConnection()), SLOT(receiveConnection()));