From caeed70f2859ca6122622b4c768521f2057ed23d Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Mon, 28 Dec 2020 12:27:27 +0100 Subject: backend/x11: create per-window present event contexts The Present protocol states: > An event context is associated with a specific window; using an existing > event context with a different window generates a Match error. Instead of a global event context, use a per-window event context to fix this error: [backend/x11/backend.c:608] X11 error: op Present (SelectInput), code Match (no extension), sequence 63, value 4194307 Closes: https://github.com/swaywm/wlroots/issues/2577 --- include/backend/x11.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/backend/x11.h b/include/backend/x11.h index 22835387..e952587d 100644 --- a/include/backend/x11.h +++ b/include/backend/x11.h @@ -34,6 +34,7 @@ struct wlr_x11_output { struct wl_list link; // wlr_x11_backend::outputs xcb_window_t win; + xcb_present_event_t present_event_id; struct wlr_swapchain *swapchain; struct wlr_buffer *back_buffer; @@ -68,7 +69,6 @@ struct wlr_x11_backend { xcb_depth_t *depth; xcb_visualid_t visualid; xcb_colormap_t colormap; - xcb_present_event_t present_event_id; size_t requested_outputs; size_t last_output_num; -- cgit v1.2.3