summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ConnectRequestHandler.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2012-08-11 15:15:53 -0400
committerBernard Normier <bernard@zeroc.com>2012-08-11 15:15:53 -0400
commitbaf36f2a83903362608aa244d8f1c3c4d0e35773 (patch)
tree603b13da3589b8167bd460d9ea464a54a73b1a0d /cpp/src/Ice/ConnectRequestHandler.cpp
parentimplementing preserved slices in C# (diff)
downloadice-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.cpp8
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));
}