summaryrefslogtreecommitdiff
path: root/TAO/tao/deep_free.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/deep_free.cpp')
-rw-r--r--TAO/tao/deep_free.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/TAO/tao/deep_free.cpp b/TAO/tao/deep_free.cpp
index 3e73054bc22..140be7b3dbd 100644
--- a/TAO/tao/deep_free.cpp
+++ b/TAO/tao/deep_free.cpp
@@ -216,9 +216,16 @@ TAO_Marshal_Struct::deep_free (CORBA::TypeCode_ptr tc,
case CORBA::tk_Principal:
retval = TAO_Marshal_Principal::deep_free (param, source, dest, env);
break;
+
case CORBA::tk_objref:
- retval = TAO_Marshal_ObjRef::deep_free (param, source, dest, env);
+ {
+ TAO_Object_Field* field =
+ ACE_static_cast (TAO_Object_Field*,source);
+ field->_release ();
+ retval = CORBA::TypeCode::TRAVERSE_CONTINUE;
+ }
break;
+
case CORBA::tk_struct:
retval = TAO_Marshal_Struct::deep_free (param, source, dest, env);
break;