diff options
-rw-r--r-- | TAO/tao/IIOPC.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/TAO/tao/IIOPC.cpp b/TAO/tao/IIOPC.cpp index e4884ba1fda..08c979ca664 100644 --- a/TAO/tao/IIOPC.cpp +++ b/TAO/tao/IIOPC.cpp @@ -255,11 +255,15 @@ CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, const IIOP::ListenPoint ACE_TRY_NEW_ENV { CORBA::TypeCode_var type = _tao_any.type (); - if (!type->equivalent (IIOP::_tc_ListenPoint, ACE_TRY_ENV)) // not equal + CORBA::Boolean result = + type->equivalent (IIOP::_tc_ListenPoint, ACE_TRY_ENV); + ACE_TRY_CHECK; + + if (!result) { return 0; } - ACE_TRY_CHECK; + if (_tao_any.any_owns_data ()) { _tao_elem = ACE_static_cast( |