Skip to content

Commit 94e30e8

Browse files
aalkinktf
authored andcommitted
DPL: when updatig params provenance, check if the iterator is not at the end
1 parent 5dffc90 commit 94e30e8

1 file changed

Lines changed: 5 additions & 10 deletions

File tree

‎Common/Utils/src/ConfigurableParamHelper.cxx‎

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -494,17 +494,14 @@ void _ParamHelper::syncCCDBandRegistry(const std::string& mainkey, TClass* cl, v
494494
// check current provenance
495495
auto key = mainkey + "." + name;
496496
auto proviter = provmap->find(key);
497-
bool isRT = proviter != provmap->end() && proviter->second == ConfigurableParam::EParamProvenance::kRT;
498-
if (isRT) {
499-
return;
500-
}
501-
// lambda to update the provenance
502-
auto updateProv = [&proviter]() {
497+
if (proviter != provmap->end()) {
498+
if (proviter->second == ConfigurableParam::EParamProvenance::kRT) {
499+
return;
500+
}
503501
proviter->second = ConfigurableParam::EParamProvenance::kCCDB;
504-
};
502+
}
505503

506504
if (isContainer(*dm)) {
507-
updateProv();
508505
ConfigurableParam::assignRegisteredContainer(getContainerTypeName(*dm), pointerto, pointerfrom);
509506
return;
510507
}
@@ -514,15 +511,13 @@ void _ParamHelper::syncCCDBandRegistry(const std::string& mainkey, TClass* cl, v
514511
std::string& target = *(std::string*)pointerto;
515512
std::string const& origin = *(std::string*)pointerfrom;
516513
// if (target.compare(origin) != 0) {
517-
updateProv();
518514
target = origin;
519515
// }
520516
return;
521517
}
522518

523519
//
524520
// if (!isMemblockDifferent(pointerto, pointerfrom, TS)) {
525-
updateProv();
526521
// actually copy
527522
std::memcpy(pointerto, pointerfrom, getSizeOfUnderlyingType(*dm));
528523
// }

0 commit comments

Comments
 (0)