summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Outgoing.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/Outgoing.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/Outgoing.cpp')
-rw-r--r--cpp/src/Ice/Outgoing.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/cpp/src/Ice/Outgoing.cpp b/cpp/src/Ice/Outgoing.cpp
index e922fb30486..a136e2f3b38 100644
--- a/cpp/src/Ice/Outgoing.cpp
+++ b/cpp/src/Ice/Outgoing.cpp
@@ -25,13 +25,13 @@ using namespace IceInternal;
IceInternal::LocalExceptionWrapper::LocalExceptionWrapper(const LocalException& ex, bool r) :
_retry(r)
{
- _ex.reset(dynamic_cast<LocalException*>(ex.ice_clone()));
+ _ex.reset(ex.ice_clone());
}
IceInternal::LocalExceptionWrapper::LocalExceptionWrapper(const LocalExceptionWrapper& ex) :
_retry(ex._retry)
{
- _ex.reset(dynamic_cast<LocalException*>(ex.get()->ice_clone()));
+ _ex.reset(ex.get()->ice_clone());
}
void
@@ -511,7 +511,7 @@ IceInternal::Outgoing::finished(const LocalException& ex, bool sent)
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(_monitor);
assert(_state <= StateInProgress);
_state = StateFailed;
- _exception.reset(dynamic_cast<LocalException*>(ex.ice_clone()));
+ _exception.reset(ex.ice_clone());
_sent = sent;
_monitor.notify();
}
@@ -585,6 +585,6 @@ void
IceInternal::BatchOutgoing::finished(const Ice::LocalException& ex, bool)
{
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(_monitor);
- _exception.reset(dynamic_cast<LocalException*>(ex.ice_clone()));
+ _exception.reset(ex.ice_clone());
_monitor.notify();
}