fix(qt): handle RPC error data object (#8414)

(cherry picked from commit bea234b8ed)
This commit is contained in:
Yat Ho
2026-02-11 00:17:09 +08:00
committed by GitHub
parent 586d98dedf
commit 90c8b8b3ec

View File

@@ -328,6 +328,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_variant::Map>(TR_KEY_data))
{
if (auto const errstr = data->value_if<std::string_view>(TR_KEY_error_string))
{
ret.errmsg = QString::fromUtf8(std::data(*errstr), std::size(*errstr));
}
if (auto* const result = data->find_if<tr_variant::Map>(TR_KEY_result))
{
ret.args = std::make_shared<tr_variant>(std::move(*result));
}
}
}
}