forked from external/yambar
xcb: add xcb_error(), a generic describe-an-x-error function
By default, generates an error message with the major/minor opcodes, the error code and sequence number. If available, it will use xcb-errors to generate an even better description.
This commit is contained in:
parent
7a8ba94a49
commit
fae2e5cb18
5 changed files with 67 additions and 44 deletions
|
@ -133,7 +133,7 @@ get_layouts(xcb_connection_t *conn)
|
|||
conn, cookie, &err);
|
||||
|
||||
if (err != NULL) {
|
||||
LOG_ERR("failed to get group names and symbols (%d)", err->error_code);
|
||||
LOG_ERR("failed to get group names and symbols: %s", xcb_error(err));
|
||||
free(err);
|
||||
return (struct layouts){.count = -1};
|
||||
}
|
||||
|
@ -162,7 +162,7 @@ get_layouts(xcb_connection_t *conn)
|
|||
xcb_get_atom_name_reply_t *atom_name = xcb_get_atom_name_reply(
|
||||
conn, symbols_name_cookie, &err);
|
||||
if (err != NULL) {
|
||||
LOG_ERR("failed to get atom name (%d)", err->error_code);
|
||||
LOG_ERR("failed to get atom name: %s", xcb_error(err));
|
||||
free(err);
|
||||
goto err;
|
||||
}
|
||||
|
@ -175,7 +175,7 @@ get_layouts(xcb_connection_t *conn)
|
|||
for (ssize_t i = 0; i < ret.count; i++) {
|
||||
atom_name = xcb_get_atom_name_reply(conn, group_name_cookies[i], &err);
|
||||
if (err != NULL) {
|
||||
LOG_ERR("failed to get atom name (%d)", err->error_code);
|
||||
LOG_ERR("failed to get atom name: %s", xcb_error(err));
|
||||
free(err);
|
||||
goto err;
|
||||
}
|
||||
|
@ -245,7 +245,7 @@ get_current_layout(xcb_connection_t *conn)
|
|||
conn, cookie, &err);
|
||||
|
||||
if (err != NULL) {
|
||||
LOG_ERR("failed to get XKB state (%d)", err->error_code);
|
||||
LOG_ERR("failed to get XKB state: %s", xcb_error(err));
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -278,7 +278,7 @@ register_for_events(xcb_connection_t *conn)
|
|||
|
||||
xcb_generic_error_t *err = xcb_request_check(conn, cookie);
|
||||
if (err != NULL) {
|
||||
LOG_ERR("failed to register for events (%d)", err->error_code);
|
||||
LOG_ERR("failed to register for events: %s", xcb_error(err));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -88,6 +88,7 @@ update_application(struct module *mod)
|
|||
xcb_get_property_reply_t *r = xcb_get_property_reply(m->conn, c, &e);
|
||||
|
||||
if (e != NULL) {
|
||||
LOG_ERR("failed to get _NET_WM_PID");
|
||||
free(e);
|
||||
free(r);
|
||||
return;
|
||||
|
@ -236,6 +237,9 @@ run(struct module *mod)
|
|||
_e = xcb_poll_for_event(m->conn))
|
||||
{
|
||||
switch (XCB_EVENT_RESPONSE_TYPE(_e)) {
|
||||
case 0:
|
||||
LOG_ERR("%s", xcb_error((const xcb_generic_error_t *)_e));
|
||||
|
||||
case XCB_PROPERTY_NOTIFY: {
|
||||
xcb_property_notify_event_t *e = (xcb_property_notify_event_t *)_e;
|
||||
if (e->atom == _NET_ACTIVE_WINDOW ||
|
||||
|
@ -256,8 +260,6 @@ run(struct module *mod)
|
|||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case 0: break; /* error */
|
||||
}
|
||||
|
||||
free(_e);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue