beginService( "CNode_Impl::DeletePorts" );
if ( DataFlowEditor()->IsEditing() && DataFlowNode() ) {
int i ;
- for ( i = 0 ; i < DataFlowNode()->ComputingNode()->GetNodeInPortsSize() ; i++ ) {
+//JR Debug 06.09.2005 : Ports must be explored in the reversed side because deletion
+// of a port changes indexes !!!...
+// for ( i = 0 ; i < DataFlowNode()->ComputingNode()->GetNodeInPortsSize() ; i++ ) {
+ for ( i = DataFlowNode()->ComputingNode()->GetNodeInPortsSize()-1 ; i >= 0 ; i-- ) {
SUPERV::Port_var aPort = DataFlowNode()->ComputingNode()->GetChangeNodeInPort( i )->ObjRef() ;
if ( !CORBA::is_nil( aPort ) ) {
aPort->Remove() ;
}
}
- for ( i = 0 ; i < DataFlowNode()->ComputingNode()->GetNodeOutPortsSize() ; i++ ) {
+// for ( i = 0 ; i < DataFlowNode()->ComputingNode()->GetNodeOutPortsSize() ; i++ ) {
+ for ( i = DataFlowNode()->ComputingNode()->GetNodeOutPortsSize()-1 ; i >= 0 ; i-- ) {
SUPERV::Port_var aPort = DataFlowNode()->ComputingNode()->GetChangeNodeOutPort( i )->ObjRef() ;
if ( !CORBA::is_nil( aPort ) ) {
aPort->Remove() ;
bool CNode_Impl::SetName( const char * aDataFlowName ) {
// beginService( "CNode_Impl::SetName" );
bool RetVal = false ;
+ bool SameName ;
if ( DataFlowEditor()->IsEditing() ) {
if ( _IsNode ) {
//JR 29.06.2005 debug :
char * OldNodeName = my_strdup( DataFlowNode()->Name() ) ;
// RetVal = DataFlowEditor()->ReNameNode( DataFlowNode()->Name() ,
- RetVal = DataFlowEditor()->ReNameNode( OldNodeName ,
- aDataFlowName ) ;
+ SameName = !strcmp( OldNodeName , aDataFlowName ) ;
+ if ( !SameName ) {
+ RetVal = DataFlowEditor()->ReNameNode( OldNodeName ,
+ aDataFlowName ) ;
+ }
delete [] OldNodeName ;
}
else {
// RetVal = DataFlowEditor()->Graph()->Name( aDataFlowName ) ;
- RetVal = DataFlowEditor()->Name( aDataFlowName ) ;
+ SameName = !strcmp( DataFlowEditor()->Graph()->Name() , aDataFlowName ) ;
+ if ( !SameName ) {
+ RetVal = DataFlowEditor()->Name( aDataFlowName ) ;
+ }
+ }
+//JR Debug 06.09.2005 : UnValid was missing
+ if ( !SameName ) {
+ DataFlowEditor()->UnValid() ;
+ DataFlowEditor()->IsValid() ;
}
}
// endService( "CNode_Impl::SetName" );