diff --git a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp index a8a079e58f2..e4aaa757c68 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp @@ -218,9 +218,10 @@ QString DeviceManager::settingsFilePath() return QFileInfo(pm->settings()->fileName()).absolutePath() + QLatin1String("/devices.xml"); } -void DeviceManager::addDevice(const IDevice::Ptr &device) +void DeviceManager::addDevice(const IDevice::Ptr &_device) { - QTC_ASSERT(this != instance() || (device->isAutoDetected()), return); + const IDevice::Ptr device = _device->clone(); + QTC_ASSERT(this != instance() || device->isAutoDetected(), return); QString name = device->displayName(); const int pos = indexForId(device->id());