summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/optional/TestAMDI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice/optional/TestAMDI.cpp')
-rw-r--r--cpp/test/Ice/optional/TestAMDI.cpp5
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