diff --git a/tools/projmgr/src/ProjMgrWorker.cpp b/tools/projmgr/src/ProjMgrWorker.cpp index 0bd1746dc..256f2adba 100644 --- a/tools/projmgr/src/ProjMgrWorker.cpp +++ b/tools/projmgr/src/ProjMgrWorker.cpp @@ -3900,7 +3900,9 @@ bool ProjMgrWorker::CheckBoardDeviceInLayer(const ContextItem& context, const Cl DeviceItem forDevice, device; GetDeviceItem(clayer.forDevice, forDevice); GetDeviceItem(context.device, device); - if ((!forDevice.name.empty() && (forDevice.name != device.name)) || + // Skip comparing the layer's 'for-device' name when the context has no device name + // (e.g. during layer discovery when only the board is specified) + if ((!forDevice.name.empty() && !device.name.empty() && (forDevice.name != device.name)) || (!forDevice.vendor.empty() && !device.vendor.empty() && (forDevice.vendor != device.vendor)) || (!forDevice.pname.empty() && !device.pname.empty() && (forDevice.pname != device.pname))) { return false; diff --git a/tools/projmgr/test/src/ProjMgrWorkerUnitTests.cpp b/tools/projmgr/test/src/ProjMgrWorkerUnitTests.cpp index d3a15e2c4..8dae828aa 100644 --- a/tools/projmgr/test/src/ProjMgrWorkerUnitTests.cpp +++ b/tools/projmgr/test/src/ProjMgrWorkerUnitTests.cpp @@ -1786,7 +1786,7 @@ TEST_F(ProjMgrWorkerUnitTests, CheckBoardDeviceInLayer) { {"DeviceVendor::DeviceName:ProcessorName", "OtherVendor::DeviceName:ProcessorName" , false}, {"DeviceVendor::DeviceName:ProcessorName", "DeviceVendor::OtherName:ProcessorName" , false}, {"DeviceVendor::DeviceName:ProcessorName", "DeviceVendor::DeviceName:OtherName" , false}, - {"" , "DeviceName" , false}, + {"" , "DeviceName" , true}, {"DeviceVendor::DeviceName:ProcessorName", "DeviceVendor::DeviceName:ProcessorName", true}, {"DeviceVendor::DeviceName:ProcessorName", "DeviceVendor::DeviceName" , true}, {"DeviceVendor::DeviceName:ProcessorName", "DeviceName" , true},