diff options
author | Fawzi Mohamed <[email protected]> | 2014-02-25 22:20:16 +0100 |
---|---|---|
committer | Fawzi Mohamed <[email protected]> | 2014-03-11 12:01:27 +0100 |
commit | 8695c6401286aab67e550e236c24019b4e44744b (patch) | |
tree | 6ddccb1f315a3c16f3d2fee17ae4e3bdc4d1caf5 /src/plugins/ios/iosdevice.cpp | |
parent | 0db9d98db328725d2b5a3d808b46dc4557b7317d (diff) |
ios: remove temporary devices
Developer mode activation generates temporary devices that will never
be usable again. Remove them if they were picked up.
Change-Id: Iff35b640d2c2e8394b108fd8d224a2b6ea8e1626
Reviewed-by: Fawzi Mohamed <[email protected]>
Diffstat (limited to 'src/plugins/ios/iosdevice.cpp')
-rw-r--r-- | src/plugins/ios/iosdevice.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/plugins/ios/iosdevice.cpp b/src/plugins/ios/iosdevice.cpp index 7a79bcbb274..ce54715970f 100644 --- a/src/plugins/ios/iosdevice.cpp +++ b/src/plugins/ios/iosdevice.cpp @@ -79,8 +79,6 @@ static QString CFStringRef2QString(CFStringRef s) namespace Ios { namespace Internal { -const char extraInfoKey[] = "extraInfo"; - IosDevice::IosDevice() : IDevice(Core::Id(Constants::IOS_DEVICE_TYPE), IDevice::AutoDetected, @@ -166,7 +164,7 @@ IDevice::Ptr IosDevice::clone() const void IosDevice::fromMap(const QVariantMap &map) { IDevice::fromMap(map); - QVariantMap vMap = map.value(QLatin1String(extraInfoKey)).toMap(); + QVariantMap vMap = map.value(QLatin1String(Constants::EXTRA_INFO_KEY)).toMap(); QMapIterator<QString, QVariant> i(vMap); m_extraInfo.clear(); while (i.hasNext()) { @@ -184,7 +182,7 @@ QVariantMap IosDevice::toMap() const i.next(); vMap.insert(i.key(), i.value()); } - res.insert(QLatin1String(extraInfoKey), vMap); + res.insert(QLatin1String(Constants::EXTRA_INFO_KEY), vMap); return res; } @@ -281,7 +279,10 @@ void IosDeviceManager::deviceDisconnected(const QString &uid) qDebug() << "ignoring disconnection of ios device " << uid; // should neve happen } else { const IosDevice *iosDev = static_cast<const IosDevice *>(dev.data()); - if (iosDev->deviceState() != IDevice::DeviceDisconnected) { + if (iosDev->m_extraInfo.isEmpty() + || iosDev->m_extraInfo.value(QLatin1String("deviceName")) == QLatin1String("*unknown*")) { + devManager->removeDevice(iosDev->id()); + } else if (iosDev->deviceState() != IDevice::DeviceDisconnected) { if (debugDeviceDetection) qDebug() << "disconnecting device " << iosDev->uniqueDeviceID(); devManager->setDeviceState(iosDev->id(), IDevice::DeviceDisconnected); |