From b6e55064fe2422bcf2694a2ce97899108a75f077 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 23 Apr 2019 20:36:28 +0300 Subject: Update for wlroots#1660 --- sway/desktop/output.c | 7 ++++--- sway/desktop/render.c | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/sway/desktop/output.c b/sway/desktop/output.c index b1e3464a..0cc08525 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c @@ -378,14 +378,15 @@ static void damage_handle_frame(struct wl_listener *listener, void *data) { struct timespec now; clock_gettime(CLOCK_MONOTONIC, &now); - bool needs_swap; + bool needs_frame; pixman_region32_t damage; pixman_region32_init(&damage); - if (!wlr_output_damage_make_current(output->damage, &needs_swap, &damage)) { + if (!wlr_output_damage_attach_render(output->damage, + &needs_frame, &damage)) { return; } - if (needs_swap) { + if (needs_frame) { output_render(output, &now, &damage); } diff --git a/sway/desktop/render.c b/sway/desktop/render.c index 771bd908..8e848359 100644 --- a/sway/desktop/render.c +++ b/sway/desktop/render.c @@ -1086,7 +1086,8 @@ renderer_end: wlr_output_transform_invert(wlr_output->transform); wlr_region_transform(damage, damage, transform, width, height); - if (!wlr_output_damage_swap_buffers(output->damage, when, damage)) { + wlr_output_set_damage(wlr_output, damage); + if (!wlr_output_commit(wlr_output)) { return; } output->last_frame = *when; -- cgit v1.2.3-54-g00ecf