diff options
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp index de19dd9e8d3..b5826f85749 100644 --- a/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp @@ -18,8 +18,8 @@ // // ============================================================================ -ACE_RCSID (be_visitor_operation, - operation_cs, +ACE_RCSID (be_visitor_operation, + operation_cs, "$Id$") // ************************************************************ @@ -169,6 +169,15 @@ be_visitor_operation_cs::visit_operation (be_operation *node) } } + // If the object is lazily evaluated the proxy brker might well + // be null. Initialize it now + *os << "if (!this->is_evaluated ())" << be_idt_nl + << "{" << be_idt_nl + << "ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);" << be_nl + << "this->" << intf->flat_name () + << "_setup_collocation (this->_is_collocated ());" << be_uidt_nl + << "}" << be_uidt_nl << be_nl; + // Generate code that retrieves the proper proxy implementation // using the proxy broker available, and perform the call // using the proxy implementation provided by the broker. |