aboutsummaryrefslogtreecommitdiff
path: root/backend/x11/backend.c
diff options
context:
space:
mode:
authorUli Schlachter <psychon@znc.in>2018-04-15 10:43:25 +0200
committerUli Schlachter <psychon@znc.in>2018-04-15 11:07:31 +0200
commite79d924588523732d13b582a46962246c8a9670d (patch)
tree020a27e79253fc18d03738d53b3abdbfb4d06cb5 /backend/x11/backend.c
parent52b058c2a31fbcd3014c63506eaa8aff25606bed (diff)
x11 backend: Ignore expose if frame is pending
When resizing rootston with the mouse, the result is really slow. One can see that rootston needs quite a while for drawing the newly visible area. This is because every single expose event is handled on its own and causes (apparently) a full repaint or at least a swap. This commit improves things by only causing a new frame if none is pending already. With this change, there is almost no delay in rootston drawing the newly visible area. Signed-off-by: Uli Schlachter <psychon@znc.in>
Diffstat (limited to 'backend/x11/backend.c')
-rw-r--r--backend/x11/backend.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/backend/x11/backend.c b/backend/x11/backend.c
index 768d00f7..089b3822 100644
--- a/backend/x11/backend.c
+++ b/backend/x11/backend.c
@@ -74,7 +74,7 @@ static void handle_x11_event(struct wlr_x11_backend *x11,
xcb_expose_event_t *ev = (xcb_expose_event_t *)event;
struct wlr_x11_output *output =
x11_output_from_window_id(x11, ev->window);
- if (output != NULL) {
+ if (output != NULL && !output->wlr_output.frame_pending) {
wlr_output_send_frame(&output->wlr_output);
}
break;