summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-07-22 04:46:46 +0000
committernanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-07-22 04:46:46 +0000
commit7b7039f4169c9f13c4e0f1c58efedc6407ccce16 (patch)
treed524d668004ae989f688ffcfae60728c3b51b132
parent7c4952425d702848b08096379034c788ec80b8c6 (diff)
downloadATCD-7b7039f4169c9f13c4e0f1c58efedc6407ccce16.tar.gz
ChangeLogTag:Wed Jul 21 21:45:22 1999 Nanbor Wang <nanbor@cs.wustl.edu>
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp
index 4443ca6472d..7429aeb6054 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp
@@ -338,6 +338,7 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
<< "{" << be_idt_nl
<< "TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);" << be_nl
<< "ACE_CHECK_RETURN (0);" << be_nl
+ << "if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())" << be_idt_nl
<< "switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())" << be_idt_nl
<< "{" << be_nl
<< "case TAO_ORB_Core::THRU_POA:" << be_idt_nl;
@@ -360,6 +361,12 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
*os << "default:" << be_idt_nl
<< "ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);" << be_uidt_nl
<< "}" << be_uidt << be_uidt_nl
+ << "else" << be_idt_nl
+ << "{" << be_idt_nl
+ << "// stub->_incr_refcnt ();" << be_nl
+ << "CORBA::Object_var obj = new CORBA::Object (stub);" << be_nl
+ << "return " << node->local_name () << "::_unchecked_narrow (obj);" << be_uidt_nl
+ << "}" << be_uidt << be_uidt_nl
<< "}\n\n";
// the _create_collocated_objref method. If the idl compiler does