forked from qt-creator/qt-creator
Kits: Do not trigger unmanagedKitUpdated signals during construction
Stay below the radar during construction/fromMap. This avoids some signals from the KitManager about unmanaged kits having been updated. This signal is used in three places only and always connected only after the the construction happend. So this should be safe. Change-Id: If6cc29b6bb98fa161776a9a79f48f88173db04b8 Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
@@ -107,12 +107,12 @@ public:
|
|||||||
Kit::Kit(Core::Id id) :
|
Kit::Kit(Core::Id id) :
|
||||||
d(new Internal::KitPrivate(id))
|
d(new Internal::KitPrivate(id))
|
||||||
{
|
{
|
||||||
KitGuard g(this);
|
|
||||||
foreach (KitInformation *sti, KitManager::kitInformation())
|
foreach (KitInformation *sti, KitManager::kitInformation())
|
||||||
setValue(sti->id(), sti->defaultValue(this));
|
d->m_data.insert(sti->id(), sti->defaultValue(this));
|
||||||
|
|
||||||
setDisplayName(QCoreApplication::translate("ProjectExplorer::Kit", "Unnamed"));
|
d->m_displayName = QCoreApplication::translate("ProjectExplorer::Kit", "Unnamed");
|
||||||
setIconPath(Utils::FileName::fromString(QLatin1String(":///DESKTOP///")));
|
d->m_iconPath = Utils::FileName::fromString(QLatin1String(":///DESKTOP///"));
|
||||||
|
d->m_icon = icon(d->m_iconPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
Kit::~Kit()
|
Kit::~Kit()
|
||||||
@@ -461,14 +461,16 @@ bool Kit::fromMap(const QVariantMap &data)
|
|||||||
d->m_sdkProvided = value.toBool();
|
d->m_sdkProvided = value.toBool();
|
||||||
else
|
else
|
||||||
d->m_sdkProvided = d->m_autodetected;
|
d->m_sdkProvided = d->m_autodetected;
|
||||||
setDisplayName(data.value(QLatin1String(DISPLAYNAME_KEY)).toString());
|
|
||||||
setIconPath(Utils::FileName::fromString(data.value(QLatin1String(ICON_KEY)).toString()));
|
d->m_displayName = data.value(QLatin1String(DISPLAYNAME_KEY)).toString();
|
||||||
|
d->m_iconPath = Utils::FileName::fromString(data.value(QLatin1String(ICON_KEY)).toString());
|
||||||
|
d->m_icon = icon(d->m_iconPath);
|
||||||
|
|
||||||
QVariantMap extra = data.value(QLatin1String(DATA_KEY)).toMap();
|
QVariantMap extra = data.value(QLatin1String(DATA_KEY)).toMap();
|
||||||
d->m_data.clear(); // remove default values
|
d->m_data.clear(); // remove default values
|
||||||
const QVariantMap::ConstIterator cend = extra.constEnd();
|
const QVariantMap::ConstIterator cend = extra.constEnd();
|
||||||
for (QVariantMap::ConstIterator it = extra.constBegin(); it != cend; ++it)
|
for (QVariantMap::ConstIterator it = extra.constBegin(); it != cend; ++it)
|
||||||
setValue(Id::fromString(it.key()), it.value());
|
d->m_data.insert(Id::fromString(it.key()), it.value());
|
||||||
|
|
||||||
QStringList mutableInfoList = data.value(QLatin1String(MUTABLE_INFO_KEY)).toStringList();
|
QStringList mutableInfoList = data.value(QLatin1String(MUTABLE_INFO_KEY)).toStringList();
|
||||||
foreach (const QString &mutableInfo, mutableInfoList) {
|
foreach (const QString &mutableInfo, mutableInfoList) {
|
||||||
|
|||||||
Reference in New Issue
Block a user