Merge remote-tracking branch 'origin/GP-2519_James_forceExclusionGroup_segfault'

This commit is contained in:
Ryan Kurtz 2022-09-07 12:58:19 -04:00
commit cd0969442d

View file

@ -926,6 +926,8 @@ void ParamListStandard::forceExclusionGroup(ParamActive *active)
int4 inactiveCount = 0; int4 inactiveCount = 0;
for(int4 i=0;i<numTrials;++i) { for(int4 i=0;i<numTrials;++i) {
ParamTrial &curtrial(active->getTrial(i)); ParamTrial &curtrial(active->getTrial(i));
if (curtrial.isDefinitelyNotUsed() || !curtrial.getEntry()->isExclusion())
continue;
int4 grp = curtrial.getEntry()->getGroup(); int4 grp = curtrial.getEntry()->getGroup();
if (grp != curGroup) { if (grp != curGroup) {
if (inactiveCount > 1) if (inactiveCount > 1)
@ -934,14 +936,13 @@ void ParamListStandard::forceExclusionGroup(ParamActive *active)
groupStart = i; groupStart = i;
inactiveCount = 0; inactiveCount = 0;
} }
if (curtrial.isDefinitelyNotUsed() || !curtrial.getEntry()->isExclusion()) if (curtrial.isActive()) {
continue;
else if (!curtrial.isActive())
inactiveCount += 1;
else if (curtrial.isActive()) {
int4 groupUpper = grp + curtrial.getEntry()->getGroupSize() - 1; // This entry covers some number of groups int4 groupUpper = grp + curtrial.getEntry()->getGroupSize() - 1; // This entry covers some number of groups
markGroupNoUse(active, groupUpper, groupStart, i); markGroupNoUse(active, groupUpper, groupStart, i);
} }
else {
inactiveCount += 1;
}
} }
if (inactiveCount > 1) if (inactiveCount > 1)
markBestInactive(active, curGroup, groupStart, TYPE_UNKNOWN); markBestInactive(active, curGroup, groupStart, TYPE_UNKNOWN);