From a7f936a13f5677146ee08cc97768ee662d1177d9 Mon Sep 17 00:00:00 2001 From: mkr Date: Thu, 10 Aug 2006 11:26:41 +0000 Subject: [PATCH] Fix for bug PAL12455 : REGRESSION: can't transfer a string into a macro-node. --- .../DataFlowExecutor_InNodeThreads.cxx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/GraphExecutor/DataFlowExecutor_InNodeThreads.cxx b/src/GraphExecutor/DataFlowExecutor_InNodeThreads.cxx index bf64f35..8aa1e9a 100644 --- a/src/GraphExecutor/DataFlowExecutor_InNodeThreads.cxx +++ b/src/GraphExecutor/DataFlowExecutor_InNodeThreads.cxx @@ -1045,6 +1045,18 @@ int GraphExecutor::InNode::DataWaiting_SomeDataReadyAction() { #endif cdebug << endl ; #endif + // mkr : PAL12455 --> + // MacroNode : give immediately the value to the corresponding graph + if ( IsMacroNode() ) { + GraphExecutor::DataFlow * aMacroGraph = GraphMacroNode()->CoupledNode()->GraphEditor()->Executor() ; + cdebug << "SomeDataReadyAction MacroNode " << aMacroGraph->Name() << " --> InputOfAny " + << InReady << "/" << GetNodeInPortsSize() << " InPorts are Ready ( " + << anInPort->PortName() << " ) ===> InputOfAny" << endl ; +// GraphMacroNode()->MacroObject()->InputOfAny( anInPort->PortName() , *anOutPort->Value() ) ; +//JR 30.03.2005 aMacroGraph->InputOfAny( anInPort->PortName() , *anOutPort->Value() ) ; + aMacroGraph->InputOfAny( anInPort->PortName() , anOutPort->Value() ) ; + } + // mkr : PAL12455 <-- } else if ( IsLoopNode() && anInPort->IsDataConnected() ) { anInPort->PortState( SUPERV::ReadyState ) ; @@ -3198,9 +3210,10 @@ void GraphExecutor::InNode::InParametersSet( bool & Err , theOutPort->SetValue( anAny ) ; // delete anAny ; } - if ( !anInPort->IsDataStream() && + if ( !anInPort->IsDataStream() + && !anInPort->IsDataConnected() ) { - anInPort->PortState( SUPERV::WaitingState ) ; + anInPort->PortState( SUPERV::WaitingState ) ; } //JR 18.02.2005 Debug Memory leak : delete does not destroy that string ... // D.Name = CORBA::string_dup( anInPort->GetServicesParameter().Parametername ) ; -- 2.39.2