aboutsummaryrefslogtreecommitdiff
path: root/sway/desktop/output.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/desktop/output.c')
-rw-r--r--sway/desktop/output.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
index 6b0ceee1..b1767efc 100644
--- a/sway/desktop/output.c
+++ b/sway/desktop/output.c
@@ -560,8 +560,12 @@ int output_repaint_timer_handler(void *data) {
clock_gettime(CLOCK_MONOTONIC, &now);
output_render(output, &now, &damage);
- } else if (surface_needs_frame) {
- wlr_output_schedule_frame(output->wlr_output);
+ } else {
+ wlr_output_rollback(output->wlr_output);
+
+ if (surface_needs_frame) {
+ wlr_output_schedule_frame(output->wlr_output);
+ }
}
pixman_region32_fini(&damage);