output: add block_idle_frame

This commit is contained in:
Ivan Molodetskikh 2019-09-25 11:06:08 +03:00 committed by Drew DeVault
parent 41cbb80e25
commit cbb2781fed
2 changed files with 4 additions and 1 deletions

View file

@ -145,6 +145,8 @@ struct wlr_output {
struct wl_listener display_destroy; struct wl_listener display_destroy;
void *data; void *data;
bool block_idle_frame;
}; };
struct wlr_output_event_precommit { struct wlr_output_event_precommit {

View file

@ -541,7 +541,8 @@ void wlr_output_send_frame(struct wlr_output *output) {
static void schedule_frame_handle_idle_timer(void *data) { static void schedule_frame_handle_idle_timer(void *data) {
struct wlr_output *output = data; struct wlr_output *output = data;
output->idle_frame = NULL; output->idle_frame = NULL;
if (!output->frame_pending && output->impl->schedule_frame) { if (!output->frame_pending && output->impl->schedule_frame
&& !output->block_idle_frame) {
// Ask the backend to send a frame event when appropriate // Ask the backend to send a frame event when appropriate
if (output->impl->schedule_frame(output)) { if (output->impl->schedule_frame(output)) {
output->frame_pending = true; output->frame_pending = true;