diff options
-rw-r--r-- | TAO/ChangeLog | 6 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp | 17 |
2 files changed, 18 insertions, 5 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 901d48cd6ca..9c7e144dc06 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,9 @@ +Wed Nov 02 13:30:13 UTC 2011 Marijke Hengstmengel <mhengstmengel@remedy.nl> + + * TAO_IDL/be/be_visitor_component/servant_svs.cpp: + Put narrow in var, use ACE_NEW with CIAO_FACET + + Wed Nov 02 08:30:13 UTC 2011 Martin Corino <mcorino@remedy.nl> Merged changes from Remedy work branch. diff --git a/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp b/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp index f099df71945..be4df8c1ce9 100644 --- a/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp @@ -308,13 +308,20 @@ be_visitor_servant_svs::visit_provides (be_provides *node) << "PortableServer::POA_var POA = cnt_safe->the_port_POA ();" << be_nl << "::CORBA::Object_var tmp =" << be_idt_nl << "this->get_facet_executor (\"" << port_name << "\");"<< be_uidt_nl << be_nl + << "::CCM_" << lname << "_var tmp_var = "<< global << sname <<"::CCM_" << lname + << "::_narrow (tmp.in());" << be_nl << "::CIAO_FACET" << prefix_connector << scope->flat_name () << "::" << lname - << "_Servant *" << port_name << "_servant_impl = " << be_idt_nl - << "new ::CIAO_FACET" << prefix_connector - << scope->flat_name () << "::" << lname - << "_Servant ("<< global << sname << "::CCM_" << lname << "::_narrow (tmp.in())," << be_nl - << "this->context_);" << be_uidt_nl << be_nl + << "_Servant *" << port_name << "_servant_impl = 0;" << be_nl + << "ACE_NEW_THROW_EX (" << be_idt_nl + << port_name << "_servant_impl," << be_nl + << "::CIAO_FACET" << prefix_connector + << scope->flat_name () << "::" << lname << "_Servant (" << be_idt_nl + << "tmp_var.in(), " << be_nl + << "this->context_)," << be_uidt_nl + << "CORBA::NO_MEMORY ());" << be_uidt_nl << be_nl + << "PortableServer::ServantBase_var safe_base_servant (" + << port_name << "_servant_impl);" << be_nl << be_nl << "PortableServer::ObjectId_var " << port_name << "_servant_oid =" << be_idt_nl << "PortableServer::string_to_ObjectId (obj_id.c_str());" << be_uidt_nl << be_nl << "POA->activate_object_with_id(" << port_name << "_servant_oid.in()," |