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);
|
||||
}
|
||||
|
||||
QVariant BuildDeviceKitAspect::defaultValue(const Kit *k) const
|
||||
void BuildDeviceKitAspect::setup(Kit *k)
|
||||
{
|
||||
Q_UNUSED(k);
|
||||
IDevice::ConstPtr defaultDevice = DeviceManager::defaultDesktopDevice();
|
||||
return defaultDevice->id().toString();
|
||||
QTC_ASSERT(DeviceManager::instance()->isLoaded(), return );
|
||||
IDevice::ConstPtr dev = BuildDeviceKitAspect::device(k);
|
||||
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
|
||||
@@ -1314,10 +1323,8 @@ IDevice::ConstPtr BuildDeviceKitAspect::device(const Kit *k)
|
||||
{
|
||||
QTC_ASSERT(DeviceManager::instance()->isLoaded(), return IDevice::ConstPtr());
|
||||
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)
|
||||
dev = DeviceKitAspect::device(k);
|
||||
dev = defaultDevice();
|
||||
return dev;
|
||||
}
|
||||
|
||||
|
@@ -182,6 +182,7 @@ class PROJECTEXPLORER_EXPORT BuildDeviceKitAspect : public KitAspect
|
||||
public:
|
||||
BuildDeviceKitAspect();
|
||||
|
||||
void setup(Kit *k) override;
|
||||
Tasks validate(const Kit *k) const override;
|
||||
|
||||
KitAspectWidget *createConfigWidget(Kit *k) const override;
|
||||
@@ -199,7 +200,7 @@ public:
|
||||
static void setDeviceId(Kit *k, Utils::Id dataId);
|
||||
|
||||
private:
|
||||
QVariant defaultValue(const Kit *k) const;
|
||||
static IDevice::ConstPtr defaultDevice();
|
||||
|
||||
void kitsWereLoaded();
|
||||
void deviceUpdated(Utils::Id dataId);
|
||||
|
Reference in New Issue
Block a user