@@ -353,6 +353,7 @@ class DelegateFreeRemote<RetType(Args...)> : public DelegateFree<RetType(Args...
353353
354354 if (!is.good ()) {
355355 RaiseError (m_id, DelegateError::ERR_STREAM_NOT_GOOD);
356+ return false ;
356357 }
357358
358359 // Invoke the delegate function synchronously
@@ -521,6 +522,7 @@ class DelegateFreeRemote<RetType(Args...)> : public DelegateFree<RetType(Args...
521522 // / @param[in] auxCode Optional auxiliary code.
522523 // / @throws std::runtime_error If no error handler is registered.
523524 void RaiseError (DelegateRemoteId id, DelegateError error, DelegateErrorAux auxCode = 0 ) {
525+ m_error = error;
524526 if (m_errorHandler) {
525527 m_errorHandler (id, error, auxCode);
526528 } else {
@@ -862,6 +864,7 @@ class DelegateMemberRemote<TClass, RetType(Args...)> : public DelegateMember<TCl
862864
863865 if (!is.good ()) {
864866 RaiseError (m_id, DelegateError::ERR_STREAM_NOT_GOOD);
867+ return false ;
865868 }
866869
867870 // Invoke the delegate function synchronously
@@ -1030,6 +1033,7 @@ class DelegateMemberRemote<TClass, RetType(Args...)> : public DelegateMember<TCl
10301033 // / @param[in] auxCode Optional auxiliary code.
10311034 // / @throws std::runtime_error If no error handler is registered.
10321035 void RaiseError (DelegateRemoteId id, DelegateError error, DelegateErrorAux auxCode = 0 ) {
1036+ m_error = error;
10331037 if (m_errorHandler) {
10341038 m_errorHandler (id, error, auxCode);
10351039 } else {
@@ -1073,8 +1077,7 @@ struct DelegateFunctionRemote; // Not defined
10731077
10741078// / @brief `DelegateFunctionRemote<>` class asynchronously invokes a `std::function` target function.
10751079// / @details Caution when binding to a `std::function` using this class. `std::function` cannot be
1076- // / compared for equality directly in a meaningful way using `operator==`. Therefore, the delegate
1077- // / library used
1080+ // / compared for equality directly in a meaningful way using `operator==`.
10781081// /
10791082// / See `DelegateFunction<>` base class for important usage limitations.
10801083// /
@@ -1312,6 +1315,7 @@ class DelegateFunctionRemote<RetType(Args...)> : public DelegateFunction<RetType
13121315
13131316 if (!is.good ()) {
13141317 RaiseError (m_id, DelegateError::ERR_STREAM_NOT_GOOD);
1318+ return false ;
13151319 }
13161320
13171321 // Invoke the delegate function synchronously
@@ -1480,6 +1484,7 @@ class DelegateFunctionRemote<RetType(Args...)> : public DelegateFunction<RetType
14801484 // / @param[in] auxCode Optional auxiliary code.
14811485 // / @throws std::runtime_error If no error handler is registered.
14821486 void RaiseError (DelegateRemoteId id, DelegateError error, DelegateErrorAux auxCode = 0 ) {
1487+ m_error = error;
14831488 if (m_errorHandler) {
14841489 m_errorHandler (id, error, auxCode);
14851490 } else {
0 commit comments