diff --git a/src/plugins/remotelinux/remotelinuxapplicationrunner.cpp b/src/plugins/remotelinux/remotelinuxapplicationrunner.cpp index bb8e4350dc7..ab72f824d0b 100644 --- a/src/plugins/remotelinux/remotelinuxapplicationrunner.cpp +++ b/src/plugins/remotelinux/remotelinuxapplicationrunner.cpp @@ -333,8 +333,14 @@ void AbstractRemoteLinuxApplicationRunner::emitError(const QString &errorMsg, bo void AbstractRemoteLinuxApplicationRunner::handlePortsGathererError(const QString &errorMsg) { - if (m_d->state != Inactive) - emitError(errorMsg); + if (m_d->state != Inactive) { + if (connection()->errorState() != SshNoError) { + emitError(errorMsg); + } else { + emit reportProgress(tr("Gathering ports failed: %1\nContinuing anyway.").arg(errorMsg)); + handleUsedPortsAvailable(); + } + } } void AbstractRemoteLinuxApplicationRunner::handleUsedPortsAvailable() diff --git a/src/plugins/remotelinux/remotelinuxusedportsgatherer.cpp b/src/plugins/remotelinux/remotelinuxusedportsgatherer.cpp index c824a1542bd..bd790d06b3f 100644 --- a/src/plugins/remotelinux/remotelinuxusedportsgatherer.cpp +++ b/src/plugins/remotelinux/remotelinuxusedportsgatherer.cpp @@ -161,8 +161,8 @@ void RemoteLinuxUsedPortsGatherer::handleProcessClosed(int exitStatus) if (m_d->procRunner->process()->exitCode() == 0) { setupUsedPorts(); } else { - errMsg = tr("Remote process failed: %1") - .arg(m_d->procRunner->process()->errorString()); + errMsg = tr("Remote process failed; exit code was %1.") + .arg(m_d->procRunner->process()->exitCode()); } break; default: