- ModelAPI_ResultField::ModelAPI_FieldStep* aStep = aFieldRes->step(i);
- if (i < myChildren.size()) {
- PartSet_StepNode* aStepNode = static_cast<PartSet_StepNode*>(myChildren.at(i));
- if (aStepNode->entity() != aStep) {
- aStepNode->setEntity(aStep);
+ FieldStepPtr aStep = aFieldRes->step(i);
+ if (aStep.get()) {
+ if (i < myChildren.size()) {
+ PartSet_StepNode* aStepNode = static_cast<PartSet_StepNode*>(myChildren.at(i));
+ if (aStepNode->object() != aStep) {
+ aStepNode->setObject(aStep);
+ }
+ }
+ else {
+ aNode = new PartSet_StepNode(aStep, this);
+ myChildren.append(aNode);