diff --git a/src/plugins/baremetal/baremetaldevice.cpp b/src/plugins/baremetal/baremetaldevice.cpp index 3a65681ed0f..67c80b7c410 100644 --- a/src/plugins/baremetal/baremetaldevice.cpp +++ b/src/plugins/baremetal/baremetaldevice.cpp @@ -67,6 +67,16 @@ QString BareMetalDevice::gdbServerProviderId() const void BareMetalDevice::setGdbServerProviderId(const QString &id) { m_gdbServerProviderId = id; + GdbServerProvider *provider = GdbServerProviderManager::instance()->findProvider(id); + QTC_ASSERT(provider, return); + const QString channel = provider->channel(); + const int colon = channel.indexOf(QLatin1Char(':')); + if (colon < 0) + return; + QSsh::SshConnectionParameters sshParams = sshParameters(); + sshParams.host = channel.left(colon); + sshParams.port = channel.mid(colon + 1).toUShort(); + setSshParameters(sshParams); } void BareMetalDevice::fromMap(const QVariantMap &map)