aboutsummaryrefslogtreecommitdiffstats
path: root/vnchextile.h
diff options
context:
space:
mode:
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>2009-08-03 10:54:32 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2009-08-10 13:05:30 -0500
commit1fc624122fb923c7fc4c1f426541d953e7df13c9 (patch)
tree0d9e60f4767b97fb547374e11da831be04d21d86 /vnchextile.h
parent703bc68ff569ac06905fa91d6db02364374522e8 (diff)
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 <stefano.stabellini@eu.citrix.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-Id:
Diffstat (limited to 'vnchextile.h')
-rw-r--r--vnchextile.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/vnchextile.h b/vnchextile.h
index f5b6fcb55..c96ede340 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_;