From 1fc624122fb923c7fc4c1f426541d953e7df13c9 Mon Sep 17 00:00:00 2001 From: Stefano Stabellini Date: Mon, 3 Aug 2009 10:54:32 +0100 Subject: single vnc server surface This patch removes the server surface from VncState and adds a single server surface to VncDisplay for all the possible clients connected. Each client maintains a different dirty bitmap in VncState. The guest surface is moved to VncDisplay as well because we don't need to track guest updates in more than one place. This patch has been updated to handle CopyRect correctly and efficiently. Signed-off-by: Stefano Stabellini Signed-off-by: Anthony Liguori Message-Id: --- vnchextile.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'vnchextile.h') diff --git a/vnchextile.h b/vnchextile.h index f5b6fcb..c96ede3 100644 --- a/vnchextile.h +++ b/vnchextile.h @@ -13,7 +13,8 @@ static void CONCAT(send_hextile_tile_, NAME)(VncState *vs, void *last_fg_, int *has_bg, int *has_fg) { - uint8_t *row = vs->server.ds->data + y * ds_get_linesize(vs->ds) + x * ds_get_bytes_per_pixel(vs->ds); + VncDisplay *vd = vs->vd; + uint8_t *row = vd->server->data + y * ds_get_linesize(vs->ds) + x * ds_get_bytes_per_pixel(vs->ds); pixel_t *irow = (pixel_t *)row; int j, i; pixel_t *last_bg = (pixel_t *)last_bg_; -- cgit v1.1