From 79b052230c00d593d9d3f08137f797ace0331bf0 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Thu, 7 Mar 2019 14:58:53 +0100 Subject: [PATCH] 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 --- src/x.c | 1 + 1 file changed, 1 insertion(+) 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);