Fix memleaks by avoiding _checked variants when discarding the result

Thanks psychon for pointing this out in
https://github.com/i3/i3/pull/2450#discussion_r78560433!
This commit is contained in:
Michael Stapelberg 2016-09-14 09:22:06 +02:00
parent 5594139676
commit b850cfba4d
2 changed files with 2 additions and 2 deletions

View File

@ -826,7 +826,7 @@ int main(int argc, char *argv[]) {
(uint32_t[]){XCB_GX_COPY, ~0, XCB_FILL_STYLE_SOLID, XCB_SUBWINDOW_MODE_INCLUDE_INFERIORS}); (uint32_t[]){XCB_GX_COPY, ~0, XCB_FILL_STYLE_SOLID, XCB_SUBWINDOW_MODE_INCLUDE_INFERIORS});
xcb_copy_area(conn, root->root, pixmap, gc, 0, 0, 0, 0, width, height); xcb_copy_area(conn, root->root, pixmap, gc, 0, 0, 0, 0, width, height);
xcb_change_window_attributes_checked(conn, root->root, XCB_CW_BACK_PIXMAP, (uint32_t[]){pixmap}); xcb_change_window_attributes(conn, root->root, XCB_CW_BACK_PIXMAP, (uint32_t[]){pixmap});
xcb_flush(conn); xcb_flush(conn);
xcb_free_gc(conn, gc); xcb_free_gc(conn, gc);
xcb_free_pixmap(conn, pixmap); xcb_free_pixmap(conn, pixmap);

View File

@ -789,7 +789,7 @@ void x_push_node(Con *con) {
int width = MAX((int32_t)rect.width, 1); int width = MAX((int32_t)rect.width, 1);
int height = MAX((int32_t)rect.height, 1); int height = MAX((int32_t)rect.height, 1);
xcb_create_pixmap_checked(conn, win_depth, con->frame_buffer.id, con->frame.id, width, height); xcb_create_pixmap(conn, win_depth, con->frame_buffer.id, con->frame.id, width, height);
draw_util_surface_init(conn, &(con->frame_buffer), con->frame_buffer.id, draw_util_surface_init(conn, &(con->frame_buffer), con->frame_buffer.id,
get_visualtype_by_id(get_visualid_by_depth(win_depth)), width, height); get_visualtype_by_id(get_visualid_by_depth(win_depth)), width, height);