diff --git a/qt/RpcClient.cc b/qt/RpcClient.cc index 7ace013d1..6fd69ca6c 100644 --- a/qt/RpcClient.cc +++ b/qt/RpcClient.cc @@ -318,6 +318,19 @@ RpcResponse RpcClient::parseResponseData(tr_variant& response) const { ret.errmsg = QString::fromUtf8(std::data(*errmsg), std::size(*errmsg)); } + + if (auto* const data = error_map->find_if(TR_KEY_data)) + { + if (auto const errstr = data->value_if(TR_KEY_error_string)) + { + ret.errmsg = QString::fromUtf8(std::data(*errstr), std::size(*errstr)); + } + + if (auto* const result = data->find_if(TR_KEY_result)) + { + ret.args = std::make_shared(std::move(*result)); + } + } } }