summaryrefslogtreecommitdiffstats
path: root/server/red_worker.c
diff options
context:
space:
mode:
Diffstat (limited to 'server/red_worker.c')
-rw-r--r--server/red_worker.c22
1 files changed, 3 insertions, 19 deletions
diff --git a/server/red_worker.c b/server/red_worker.c
index d744f483..3a21d964 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -6200,28 +6200,12 @@ static void handle_dev_destroy_primary_surface_async(void *opaque, void *payload
destroy_primary_surface(worker, surface_id);
}
-static void flush_all_surfaces(DisplayChannel *display)
-{
- int x;
-
- for (x = 0; x < NUM_SURFACES; ++x) {
- if (display->surfaces[x].context.canvas) {
- display_channel_current_flush(display, x);
- }
- }
-}
-
-static void dev_flush_surfaces(RedWorker *worker)
-{
- flush_all_qxl_commands(worker);
- flush_all_surfaces(worker->display_channel);
-}
-
static void handle_dev_flush_surfaces_async(void *opaque, void *payload)
{
RedWorker *worker = opaque;
- dev_flush_surfaces(worker);
+ flush_all_qxl_commands(worker);
+ display_channel_flush_all_surfaces(worker->display_channel);
}
static void handle_dev_stop(void *opaque, void *payload)
@@ -6232,7 +6216,7 @@ static void handle_dev_stop(void *opaque, void *payload)
spice_assert(worker->running);
worker->running = FALSE;
red_display_clear_glz_drawables(worker->display_channel);
- flush_all_surfaces(worker->display_channel);
+ display_channel_flush_all_surfaces(worker->display_channel);
/* todo: when the waiting is expected to take long (slow connection and
* overloaded pipe), don't wait, and in case of migration,
* purge the pipe, send destroy_all_surfaces