compositor: page flip away from a client buffer if it's destroyed
If the current or pending scanout buffer is destroyed, the client frame will remain being displayed until something else causes a repaint to be scheduled. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
This commit is contained in:
committed by
Kristian Høgsberg
parent
ac5098f11a
commit
9a38a0a191
@@ -220,6 +220,9 @@ output_handle_scanout_buffer_destroy(struct wl_listener *listener,
|
|||||||
scanout_buffer_destroy_listener);
|
scanout_buffer_destroy_listener);
|
||||||
|
|
||||||
output->scanout_buffer = NULL;
|
output->scanout_buffer = NULL;
|
||||||
|
|
||||||
|
if (!output->pending_scanout_buffer)
|
||||||
|
wlsc_compositor_schedule_repaint(output->compositor);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -232,6 +235,8 @@ output_handle_pending_scanout_buffer_destroy(struct wl_listener *listener,
|
|||||||
pending_scanout_buffer_destroy_listener);
|
pending_scanout_buffer_destroy_listener);
|
||||||
|
|
||||||
output->pending_scanout_buffer = NULL;
|
output->pending_scanout_buffer = NULL;
|
||||||
|
|
||||||
|
wlsc_compositor_schedule_repaint(output->compositor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user