From: Michael Stapelberg Date: Thu, 7 Mar 2019 13:58:53 +0000 (+0100) Subject: x.c: correctly free con->frame_buffer in _x_con_kill X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=refs%2Fpull%2F3637%2Fhead;p=i3%2Fi3 x.c: correctly free con->frame_buffer in _x_con_kill This fixes a crash which I could not reproduce in a testcase with reasonable effort, but the user reported the fix works. Compare with src/x.c:946. fixes #3554 fixes #3645 --- diff --git a/src/x.c b/src/x.c index f643a9b3..e6d875e5 100644 --- a/src/x.c +++ b/src/x.c @@ -268,6 +268,7 @@ static void _x_con_kill(Con *con) { draw_util_surface_free(conn, &(con->frame)); draw_util_surface_free(conn, &(con->frame_buffer)); xcb_free_pixmap(conn, con->frame_buffer.id); + con->frame_buffer.id = XCB_NONE; state = state_for_frame(con->frame.id); CIRCLEQ_REMOVE(&state_head, state, state); CIRCLEQ_REMOVE(&old_state_head, state, old_state);