refs #649, further fixes and improvements

* call of non-virtual function in ctor
* use getCopy
* return number of merged models
* change current simulator in model set loader (fixes infinite loop: change data -> signal -> change data).
This commit is contained in:
Klaus Basan
2016-06-05 20:24:39 +02:00
parent f02bf0ac0a
commit c39882e5db
10 changed files with 67 additions and 43 deletions

View File

@@ -14,9 +14,10 @@ namespace BlackMisc
{
namespace Simulation
{
bool CAircraftModelUtilities::mergeWithDbData(CAircraftModelList &modelToBeModified, const CAircraftModelList &dbModels, bool force)
int CAircraftModelUtilities::mergeWithDbData(CAircraftModelList &modelToBeModified, const CAircraftModelList &dbModels, bool force)
{
if (dbModels.isEmpty() || modelToBeModified.isEmpty()) { return false; }
if (dbModels.isEmpty() || modelToBeModified.isEmpty()) { return 0; }
int c = 0;
for (CAircraftModel &simModel : modelToBeModified)
{
if (!force && simModel.hasValidDbKey()) { continue; } // already done
@@ -27,8 +28,9 @@ namespace BlackMisc
}
dbModel.updateMissingParts(simModel, false);
simModel = dbModel;
c++;
}
return true;
return c;
}
bool CAircraftModelUtilities::mergeWithVPilotData(CAircraftModelList &modelToBeModified, const CAircraftModelList &vPilotModels, bool force)