diff options
-rw-r--r-- | ui/vnc-jobs.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/ui/vnc-jobs.c b/ui/vnc-jobs.c index fd9ed39f26..12389cc2e8 100644 --- a/ui/vnc-jobs.c +++ b/ui/vnc-jobs.c @@ -185,6 +185,9 @@ void vnc_jobs_consume_buffer(VncState *vs) */ static void vnc_async_encoding_start(VncState *orig, VncState *local) { + buffer_init(&local->output, "vnc-worker-output"); + local->csock = -1; /* Don't do any network work on this thread */ + local->vnc_encoding = orig->vnc_encoding; local->features = orig->features; local->vd = orig->vd; @@ -196,7 +199,6 @@ static void vnc_async_encoding_start(VncState *orig, VncState *local) local->zlib = orig->zlib; local->hextile = orig->hextile; local->zrle = orig->zrle; - local->csock = -1; /* Don't do any network work on this thread */ } static void vnc_async_encoding_end(VncState *orig, VncState *local) @@ -212,12 +214,10 @@ static int vnc_worker_thread_loop(VncJobQueue *queue) { VncJob *job; VncRectEntry *entry, *tmp; - VncState vs; + VncState vs = {}; int n_rectangles; int saved_offset; - buffer_init(&vs.output, "vnc-worker-output"); - vnc_lock_queue(queue); while (QTAILQ_EMPTY(&queue->jobs) && !queue->exit) { qemu_cond_wait(&queue->cond, &queue->mutex); |