diff options
Diffstat (limited to 'server/red_worker.c')
-rw-r--r-- | server/red_worker.c | 22 |
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 |