vnc: Fix artifacts in hextile decoding
authorAnthony Liguori <aliguori@us.ibm.com>
Thu, 7 Jan 2010 13:55:34 +0000 (07:55 -0600)
committerAnthony Liguori <aliguori@us.ibm.com>
Thu, 7 Jan 2010 13:55:34 +0000 (07:55 -0600)
02c2b87 introduced a regression whereas the foreground color in a hextile
update was not being properly invalidated leading to artifacts.

It's still necessary to explicitly invalidate the foreground color with a
SubrectColoured tile even though we no longer send a foreground color as
part of the tile.

Reported-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vnchextile.h

index 432ed89af4b799d70e78ec800738f282b7317c77..78ed8c4e919a8b619d4f587a3fc29e14802cb000 100644 (file)
@@ -165,6 +165,8 @@ static void CONCAT(send_hextile_tile_, NAME)(VncState *vs,
            irow += ds_get_linesize(vs->ds) / sizeof(pixel_t);
        }
 
+       /* A SubrectsColoured subtile invalidates the foreground color */
+       *has_fg = 0;
        if (n_data > (w * h * sizeof(pixel_t))) {
            n_colors = 4;
            flags = 0x01;