|  | @@ -790,11 +790,14 @@ int la_ParentableRecursive(tnsObject* root, tnsObject* parent){
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  void la_MakeParentExecuteRecursive(tnsObject* root, tnsObject* parent, int Unparent, int KeepTransform){
 |  |  void la_MakeParentExecuteRecursive(tnsObject* root, tnsObject* parent, int Unparent, int KeepTransform){
 | 
											
												
													
														|  |      laListItemPointer* NextLip;
 |  |      laListItemPointer* NextLip;
 | 
											
												
													
														|  | 
 |  | +    if(root->Type!=TNS_OBJECT_ROOT){ 
 | 
											
												
													
														|  | 
 |  | +        if((root->Flags&TNS_OBJECT_FLAGS_SELECTED)&&root->InRoot==parent->InRoot){
 | 
											
												
													
														|  | 
 |  | +            if(Unparent) tnsUnparentObject(root, KeepTransform);
 | 
											
												
													
														|  | 
 |  | +            elif(root!=parent) tnsParentObject(root, parent, KeepTransform);
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  |      for(laListItemPointer* lip=root->ChildObjects.pFirst;lip;lip=NextLip){ NextLip=lip->pNext;
 |  |      for(laListItemPointer* lip=root->ChildObjects.pFirst;lip;lip=NextLip){ NextLip=lip->pNext;
 | 
											
												
													
														|  | -        tnsObject* o=lip->p; if((!o) || (!(o->Flags&TNS_OBJECT_FLAGS_SELECTED)) || (o==parent)) continue;
 |  | 
 | 
											
												
													
														|  | -        if(Unparent) tnsUnparentObject(o, KeepTransform);
 |  | 
 | 
											
												
													
														|  | -        else tnsParentObject(o, parent, KeepTransform);
 |  | 
 | 
											
												
													
														|  | -        la_MakeParentExecuteRecursive(o,parent,Unparent,KeepTransform);
 |  | 
 | 
											
												
													
														|  | 
 |  | +        tnsObject* o=lip->p; if(!o) continue; la_MakeParentExecuteRecursive(o,parent,Unparent,KeepTransform);
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |      laNotifyUsers("tns.world");
 |  |      laNotifyUsers("tns.world");
 | 
											
												
													
														|  |  }
 |  |  }
 |