summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarijke Hengstmengel <MHengstmengel@users.noreply.github.com>2011-11-02 14:10:58 +0000
committerMarijke Hengstmengel <MHengstmengel@users.noreply.github.com>2011-11-02 14:10:58 +0000
commitfabb86f87f983e013ff3f7a6faa9081ed586abb6 (patch)
treed2f31b63bb1a92d0e57e8354d1ba1daf20c94416
parentbb447d843561d94f3615b22cc8bea61bd75ce954 (diff)
downloadATCD-fabb86f87f983e013ff3f7a6faa9081ed586abb6.tar.gz
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
-rw-r--r--TAO/ChangeLog6
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp17
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(),"