diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/AsyncResult.cpp | 2 | ||||
-rw-r--r-- | cpp/src/Ice/ConnectRequestHandler.cpp | 7 |
2 files changed, 3 insertions, 6 deletions
diff --git a/cpp/src/Ice/AsyncResult.cpp b/cpp/src/Ice/AsyncResult.cpp index 68b0af9745e..dcc4a553180 100644 --- a/cpp/src/Ice/AsyncResult.cpp +++ b/cpp/src/Ice/AsyncResult.cpp @@ -456,7 +456,7 @@ AsyncResult::cancelable(const CancellationHandlerPtr& handler) { ICE_RETHROW_EXCEPTION(_cancellationException); } - catch(const Ice::Exception&) + catch(const Ice::LocalException&) { ICE_RESET_EXCEPTION(_cancellationException, ICE_NULLPTR); throw; diff --git a/cpp/src/Ice/ConnectRequestHandler.cpp b/cpp/src/Ice/ConnectRequestHandler.cpp index 8bc759f07bb..ba4dec506d5 100644 --- a/cpp/src/Ice/ConnectRequestHandler.cpp +++ b/cpp/src/Ice/ConnectRequestHandler.cpp @@ -226,11 +226,8 @@ ConnectRequestHandler::setException(const Ice::LocalException& ex) { Lock sync(*this); assert(!_initialized && !ICE_EXCEPTION_GET(_exception)); -#ifdef ICE_CPP11_MAPPING - _exception = ex.ice_clone(); -#else - _exception.reset(ex.ice_clone()); -#endif + ICE_RESET_EXCEPTION(_exception, ex.ice_clone()); + _proxies.clear(); _proxy = 0; // Break cyclic reference count. |