From 5afaccedfc50f722340500cf2cb2f1a84259831b Mon Sep 17 00:00:00 2001 From: emersion Date: Fri, 5 Oct 2018 16:26:40 +0200 Subject: [PATCH] output: fix busy loop when backend doesn't implement schedule_frame --- types/wlr_output.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/types/wlr_output.c b/types/wlr_output.c index 9b1e70ea..35a3ab14 100644 --- a/types/wlr_output.c +++ b/types/wlr_output.c @@ -545,14 +545,10 @@ void wlr_output_send_frame(struct wlr_output *output) { static void schedule_frame_handle_idle_timer(void *data) { struct wlr_output *output = data; output->idle_frame = NULL; - if (!output->frame_pending) { - if (output->impl->schedule_frame) { - // Ask the backend to send a frame event when appropriate - output->frame_pending = true; - output->impl->schedule_frame(output); - } else { - wlr_output_send_frame(output); - } + if (!output->frame_pending && output->impl->schedule_frame) { + // Ask the backend to send a frame event when appropriate + output->frame_pending = true; + output->impl->schedule_frame(output); } }