forked from qt-creator/qt-creator
Fix default build device
If the kit doesn't specify anything specific, default to the local host. Fixes: QTCREATORBUG-27242 Change-Id: Ie19a332638467bd121314a2a0303803253ced4af Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -1240,11 +1240,20 @@ BuildDeviceKitAspect::BuildDeviceKitAspect()
|
|||||||
this, &BuildDeviceKitAspect::kitsWereLoaded);
|
this, &BuildDeviceKitAspect::kitsWereLoaded);
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant BuildDeviceKitAspect::defaultValue(const Kit *k) const
|
void BuildDeviceKitAspect::setup(Kit *k)
|
||||||
{
|
{
|
||||||
Q_UNUSED(k);
|
QTC_ASSERT(DeviceManager::instance()->isLoaded(), return );
|
||||||
IDevice::ConstPtr defaultDevice = DeviceManager::defaultDesktopDevice();
|
IDevice::ConstPtr dev = BuildDeviceKitAspect::device(k);
|
||||||
return defaultDevice->id().toString();
|
if (!dev.isNull() && dev->isCompatibleWith(k))
|
||||||
|
return;
|
||||||
|
|
||||||
|
dev = defaultDevice();
|
||||||
|
setDeviceId(k, dev ? dev->id() : Id());
|
||||||
|
}
|
||||||
|
|
||||||
|
IDevice::ConstPtr BuildDeviceKitAspect::defaultDevice()
|
||||||
|
{
|
||||||
|
return DeviceManager::defaultDesktopDevice();
|
||||||
}
|
}
|
||||||
|
|
||||||
Tasks BuildDeviceKitAspect::validate(const Kit *k) const
|
Tasks BuildDeviceKitAspect::validate(const Kit *k) const
|
||||||
@@ -1314,10 +1323,8 @@ IDevice::ConstPtr BuildDeviceKitAspect::device(const Kit *k)
|
|||||||
{
|
{
|
||||||
QTC_ASSERT(DeviceManager::instance()->isLoaded(), return IDevice::ConstPtr());
|
QTC_ASSERT(DeviceManager::instance()->isLoaded(), return IDevice::ConstPtr());
|
||||||
IDevice::ConstPtr dev = DeviceManager::instance()->find(deviceId(k));
|
IDevice::ConstPtr dev = DeviceManager::instance()->find(deviceId(k));
|
||||||
// Use the "run" device as fallback if no build device is present.
|
|
||||||
// FIXME: Think about whether this shouldn't be the other way round.
|
|
||||||
if (!dev)
|
if (!dev)
|
||||||
dev = DeviceKitAspect::device(k);
|
dev = defaultDevice();
|
||||||
return dev;
|
return dev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -182,6 +182,7 @@ class PROJECTEXPLORER_EXPORT BuildDeviceKitAspect : public KitAspect
|
|||||||
public:
|
public:
|
||||||
BuildDeviceKitAspect();
|
BuildDeviceKitAspect();
|
||||||
|
|
||||||
|
void setup(Kit *k) override;
|
||||||
Tasks validate(const Kit *k) const override;
|
Tasks validate(const Kit *k) const override;
|
||||||
|
|
||||||
KitAspectWidget *createConfigWidget(Kit *k) const override;
|
KitAspectWidget *createConfigWidget(Kit *k) const override;
|
||||||
@@ -199,7 +200,7 @@ public:
|
|||||||
static void setDeviceId(Kit *k, Utils::Id dataId);
|
static void setDeviceId(Kit *k, Utils::Id dataId);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QVariant defaultValue(const Kit *k) const;
|
static IDevice::ConstPtr defaultDevice();
|
||||||
|
|
||||||
void kitsWereLoaded();
|
void kitsWereLoaded();
|
||||||
void deviceUpdated(Utils::Id dataId);
|
void deviceUpdated(Utils::Id dataId);
|
||||||
|
Reference in New Issue
Block a user