diff options
Diffstat (limited to 'cpp/src/Ice/Proxy.cpp')
-rw-r--r-- | cpp/src/Ice/Proxy.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp index c21eaf82824..0d98b89b9e0 100644 --- a/cpp/src/Ice/Proxy.cpp +++ b/cpp/src/Ice/Proxy.cpp @@ -576,6 +576,11 @@ IceProxy::Ice::Object::__handleException(const LocalException& ex, int& cnt) _delegate = 0; } + if(_reference->locatorInfo) + { + _reference->locatorInfo->clearObjectCache(_reference); + } + ++cnt; TraceLevelsPtr traceLevels = _reference->instance->traceLevels(); @@ -634,6 +639,11 @@ IceProxy::Ice::Object::__rethrowException(const LocalException& ex) _delegate = 0; + if(_reference->locatorInfo) + { + _reference->locatorInfo->clearObjectCache(_reference); + } + ex.ice_throw(); } |