diff options
Diffstat (limited to 'cpp/src/Ice/ProxyFactory.cpp')
-rw-r--r-- | cpp/src/Ice/ProxyFactory.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/cpp/src/Ice/ProxyFactory.cpp b/cpp/src/Ice/ProxyFactory.cpp index a2eaa1911c7..67f6c695ced 100644 --- a/cpp/src/Ice/ProxyFactory.cpp +++ b/cpp/src/Ice/ProxyFactory.cpp @@ -97,12 +97,12 @@ IceInternal::ProxyFactory::checkRetryAfterException(const LocalException& ex, co // if(dynamic_cast<const ObjectNotExistException*>(&ex)) { - IndirectReferencePtr ir = IndirectReferencePtr::dynamicCast(ref); - if(!ir || !ir->getLocatorInfo()) + LocatorInfoPtr li = ref->getLocatorInfo(); + if(!li) { ex.ice_throw(); } - ir->getLocatorInfo()->clearObjectCache(ir); + li->clearObjectCache(IndirectReferencePtr::dynamicCast(ref)); } else if(dynamic_cast<const RequestFailedException*>(&ex)) { |