diff options
author | Bernard Normier <bernard@zeroc.com> | 2012-08-11 15:15:53 -0400 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2012-08-11 15:15:53 -0400 |
commit | baf36f2a83903362608aa244d8f1c3c4d0e35773 (patch) | |
tree | 603b13da3589b8167bd460d9ea464a54a73b1a0d /cpp/src/Ice/ConnectRequestHandler.cpp | |
parent | implementing preserved slices in C# (diff) | |
download | ice-baf36f2a83903362608aa244d8f1c3c4d0e35773.tar.bz2 ice-baf36f2a83903362608aa244d8f1c3c4d0e35773.tar.xz ice-baf36f2a83903362608aa244d8f1c3c4d0e35773.zip |
Fixed bug #ICE-4845 (ice_clone for IceUtil::Exception is now covariant)
Small build fixes (VS warning, Python 3.x run.py)
slice2cpp no longer generates ice_clone for interfaces
Diffstat (limited to 'cpp/src/Ice/ConnectRequestHandler.cpp')
-rw-r--r-- | cpp/src/Ice/ConnectRequestHandler.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/cpp/src/Ice/ConnectRequestHandler.cpp b/cpp/src/Ice/ConnectRequestHandler.cpp index a0a900e4b52..de6d765137d 100644 --- a/cpp/src/Ice/ConnectRequestHandler.cpp +++ b/cpp/src/Ice/ConnectRequestHandler.cpp @@ -34,7 +34,7 @@ public: const Ice::LocalException& ex) : DispatchWorkItem(instance), _handler(handler), - _exception(dynamic_cast<Ice::LocalException*>(ex.ice_clone())) + _exception(ex.ice_clone()) { } @@ -328,7 +328,7 @@ ConnectRequestHandler::setException(const Ice::LocalException& ex) assert(!_initialized && !_exception.get()); assert(_updateRequestHandler || _requests.empty()); - _exception.reset(dynamic_cast<Ice::LocalException*>(ex.ice_clone())); + _exception.reset(ex.ice_clone()); _proxy = 0; // Break cyclic reference count. _delegate = 0; // Break cyclic reference count. @@ -451,7 +451,7 @@ ConnectRequestHandler::flushRequests() { Lock sync(*this); assert(!_exception.get() && !_requests.empty()); - _exception.reset(dynamic_cast<Ice::LocalException*>(ex.get()->ice_clone())); + _exception.reset(ex.get()->ice_clone()); const InstancePtr instance = _reference->getInstance(); instance->clientThreadPool()->execute(new FlushRequestsWithExceptionWrapper(instance, this, ex)); } @@ -459,7 +459,7 @@ ConnectRequestHandler::flushRequests() { Lock sync(*this); assert(!_exception.get() && !_requests.empty()); - _exception.reset(dynamic_cast<Ice::LocalException*>(ex.ice_clone())); + _exception.reset(ex.ice_clone()); const InstancePtr instance = _reference->getInstance(); instance->clientThreadPool()->execute(new FlushRequestsWithException(instance, this, ex)); } |