vnc: hextile: do not generate ForegroundSpecified and SubrectsColoured tiles
This violates the RFB specification (section 6.6.4). It happens to work with most clients but it's still wrong. Reported-by: Yaniv Kaul <ykaul@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
d587e07871
commit
02c2b87fff
@ -73,7 +73,7 @@ static void CONCAT(send_hextile_tile_, NAME)(VncState *vs,
|
||||
*last_bg = bg;
|
||||
}
|
||||
|
||||
if (!*has_fg || *last_fg != fg) {
|
||||
if (n_colors < 3 && (!*has_fg || *last_fg != fg)) {
|
||||
flags |= 0x04;
|
||||
*has_fg = 1;
|
||||
*last_fg = fg;
|
||||
@ -165,8 +165,6 @@ 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;
|
||||
|
Loading…
Reference in New Issue
Block a user