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/Outgoing.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/Outgoing.cpp')
-rw-r--r-- | cpp/src/Ice/Outgoing.cpp | 8 |
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(); } |