From: Michel Dänzer <michel.daen...@amd.com> Without this, the X server may accumulate stale Present event contexts if a client ends up creating and destroying DRI drawables for the same window.
Signed-off-by: Michel Dänzer <michel.daen...@amd.com> --- src/loader/loader_dri3_helper.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/loader/loader_dri3_helper.c b/src/loader/loader_dri3_helper.c index 896f225..7f08846 100644 --- a/src/loader/loader_dri3_helper.c +++ b/src/loader/loader_dri3_helper.c @@ -118,8 +118,14 @@ loader_dri3_drawable_fini(struct loader_dri3_drawable *draw) dri3_free_render_buffer(draw, draw->buffers[i]); } - if (draw->special_event) + if (draw->special_event) { + xcb_void_cookie_t cookie = + xcb_present_select_input(draw->conn, draw->eid, draw->drawable, + XCB_PRESENT_EVENT_MASK_NO_EVENT); + + free(xcb_request_check(draw->conn, cookie)); xcb_unregister_for_special_event(draw->conn, draw->special_event); + } } int -- 2.8.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev