diff --git a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp index bd4c4cf6bc5..fe2b638eeaf 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp @@ -135,6 +135,8 @@ void DeviceManager::copy(const DeviceManager *source, DeviceManager *target, boo void DeviceManager::save() { + if (d->clonedInstance == this) + return; QVariantMap data; data.insert(QLatin1String(DeviceManagerKey), toMap()); d->writer->save(data, Core::ICore::mainWindow()); @@ -342,7 +344,8 @@ DeviceManager::DeviceManager(bool isInstance) : d(new DeviceManagerPrivate) DeviceManager::~DeviceManager() { - delete d->writer; + if (d->clonedInstance != this) + delete d->writer; delete d; }