X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkExecuter.cxx;h=79380c4271072db6ca5671156e5cecdfae5ca706;hb=c7c01e26ba6aa2f3dda7f1ce6ee1b39a0d6db57c;hp=bf51fe564d3a1b644ee850f9bbc044d9b3abfa08;hpb=12f2166f201f4e5a99c9c7876dadd09da81bfb51;p=bbtk.git diff --git a/kernel/src/bbtkExecuter.cxx b/kernel/src/bbtkExecuter.cxx index bf51fe5..79380c4 100644 --- a/kernel/src/bbtkExecuter.cxx +++ b/kernel/src/bbtkExecuter.cxx @@ -82,7 +82,9 @@ namespace bbtk // We have to "lock" the smart pointer because the factory // only keeps a weak pointer on the executer // -> this would auto-destroy !! + mFactory->SetExecuter(MakePointer(this,true)); + Reset(); bbtkDebugMessage("object",2,"<== Executer()" <GetPrototype()->bbGetBlackBox(box); + BlackBox::Pointer b = GetCurrentDescriptor()->GetPrototype()->bbGetBlackBox(box); // Looks for the adaptor if ( ( b->bbGetInputType(input) != typeid(bbtk::any) )&& @@ -445,9 +447,7 @@ namespace bbtk a->bbExecute(); b->bbSetInput(input,a->bbGetOutput("Out")); // a->Delete(); - } - else - { + } else { std::string v(value); b->bbSetInput(input,v); } @@ -485,9 +485,7 @@ namespace bbtk //b->bbSetInput(input,a->bbGetOutput("Out")); // a->bbDelete(); return r; - } - else - { + } else { b->bbExecute(); return b->bbGetOutput(output).unsafe_get(); // std::string v = *((std::string*)b->bbGetOutput(output)) ;