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

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