client: Log the object and methods when marshalling or sending fails

The log that appears before a display_error can be captured as crash
signature. Useful to know what it is.

This is cherry-picked from chromium https://crrev.com/c/4697877

Signed-off-by: Fangzhou Ge <fangzhoug@chromium.org>
This commit is contained in:
Fangzhou Ge 2024-08-07 18:21:20 +00:00 committed by Kramer Ge
parent efa648056a
commit 5b692b50b9

View file

@ -916,7 +916,9 @@ wl_proxy_marshal_array_flags(struct wl_proxy *proxy, uint32_t opcode,
closure = wl_closure_marshal(&proxy->object, opcode, args, message);
if (closure == NULL) {
wl_log("Error marshalling request: %s\n", strerror(errno));
wl_log("Error marshalling request for %s.%s: %s\n",
proxy->object.interface->name, message->name,
strerror(errno));
display_fatal_error(proxy->display, errno);
goto err_unlock;
}
@ -934,7 +936,9 @@ wl_proxy_marshal_array_flags(struct wl_proxy *proxy, uint32_t opcode,
}
if (wl_closure_send(closure, proxy->display->connection)) {
wl_log("Error sending request: %s\n", strerror(errno));
wl_log("Error sending request for %s.%s: %s\n",
proxy->object.interface->name, message->name,
strerror(errno));
display_fatal_error(proxy->display, errno);
}