diff options
Diffstat (limited to 'cpp/test/Ice/optional/TestAMDI.cpp')
-rw-r--r-- | cpp/test/Ice/optional/TestAMDI.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/cpp/test/Ice/optional/TestAMDI.cpp b/cpp/test/Ice/optional/TestAMDI.cpp index b5ea8327227..84f7fa16a6f 100644 --- a/cpp/test/Ice/optional/TestAMDI.cpp +++ b/cpp/test/Ice/optional/TestAMDI.cpp @@ -35,6 +35,11 @@ InitialI::pingPongAsync(::std::shared_ptr<::Ice::Value> obj, ::std::function<void(::std::exception_ptr)>, const Ice::Current&) { response(obj); + if(dynamic_pointer_cast<MultiOptional>(obj)) + { + // Break cyclic reference count + dynamic_pointer_cast<MultiOptional>(obj)->k = shared_ptr<MultiOptional>(); + } } void |