output: add block_idle_frame
This commit is contained in:
parent
41cbb80e25
commit
cbb2781fed
|
@ -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 {
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue