PAL13117: Bug in RemoveObject method.

This commit is contained in:
jfa 2006-08-03 11:17:55 +00:00
parent 2014c50784
commit 65c6df3249

View File

@ -196,20 +196,18 @@ void GEOMImpl_IGroupOperations::RemoveObject (Handle(GEOM_Object) theGroup, int
else {
aNewSeq = new TColStd_HArray1OfInteger(1, aLength-1);
Standard_Boolean isFound = Standard_False;
for(Standard_Integer i = 1, k=1; i<=aLength; i++) {
if(i == aLength && !isFound) {
SetErrorCode(NOT_EXISTS);
return;
}
if(aSeq->Value(i) == theSubShapeID) {
for (Standard_Integer i = 1, k = 1; i <= aLength; i++) {
if (aSeq->Value(i) == theSubShapeID) {
isFound = Standard_True;
continue;
}
aNewSeq->SetValue(k, aSeq->Value(i));
k++;
} else {
if (k < aLength) { // this check is to avoid sequence <aNewSeq> overflow
aNewSeq->SetValue(k, aSeq->Value(i));
k++;
}
}
}
if(!isFound) {
if (!isFound) {
SetErrorCode(NOT_EXISTS);
return;
}