[Spice-commits] server/red_worker.c

Yonit Halperin yhalperi at kemper.freedesktop.org
Wed Aug 25 05:18:36 PDT 2010


 server/red_worker.c |    3 +++
 1 file changed, 3 insertions(+)

New commits:
commit b9b5f8fd56081587559a4611cf57e86ce0f03964
Author: Yonit Halperin <yhalperi at redhat.com>
Date:   Wed Aug 25 10:02:33 2010 +0300

    server: clean glz drawables when reseting qxl
    
    When the we reset qxl, we destroy all srufaces. Since surfaces and glz
    drawables are no longer dependent, we need to call red_display_clear_glz_drawables explicitly
    in order to clear all our drawables references in the server.

diff --git a/server/red_worker.c b/server/red_worker.c
index 043aa36..27d9491 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -9800,6 +9800,7 @@ static inline void handle_dev_destroy_surface_wait(RedWorker *worker)
     write_message(worker->channel, &message);
 }
 
+/* called upon device reset */
 static inline void handle_dev_destroy_surfaces(RedWorker *worker)
 {
     int i;
@@ -9834,6 +9835,8 @@ static inline void handle_dev_destroy_surfaces(RedWorker *worker)
         red_pipe_add_verb(&worker->display_channel->base, SPICE_MSG_DISPLAY_STREAM_DESTROY_ALL);
     }
 
+    red_display_clear_glz_drawables(worker->display_channel);
+
     //to handle better
     for (i = 0; i < NUM_SURFACES; ++i) {
         ASSERT(!worker->surfaces[i].context.canvas);


More information about the Spice-commits mailing list