vnc: Fix incorrect attempt to clear a flag
In vnc.c in pixel_format_message, the code tries to clear the QEMU_ALLOCATED_FLAG from the client display surface, however it uses the wrong operator and ends up enabling all other flags. Most notably this enables the big endian flag and causes some chaos. Signed-off-by: Brian Kress <kressb@moose.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7022 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
ceb42de899
commit
3cded54009
2
vnc.c
2
vnc.c
@ -1598,7 +1598,7 @@ static void pixel_format_message (VncState *vs) {
|
|||||||
else if (vs->ds->surface->pf.bits_per_pixel == 8)
|
else if (vs->ds->surface->pf.bits_per_pixel == 8)
|
||||||
vs->send_hextile_tile = send_hextile_tile_8;
|
vs->send_hextile_tile = send_hextile_tile_8;
|
||||||
vs->clientds = *(vs->ds->surface);
|
vs->clientds = *(vs->ds->surface);
|
||||||
vs->clientds.flags |= ~QEMU_ALLOCATED_FLAG;
|
vs->clientds.flags &= ~QEMU_ALLOCATED_FLAG;
|
||||||
vs->write_pixels = vnc_write_pixels_copy;
|
vs->write_pixels = vnc_write_pixels_copy;
|
||||||
|
|
||||||
vnc_write(vs, pad, 3); /* padding */
|
vnc_write(vs, pad, 3); /* padding */
|
||||||
|
Loading…
Reference in New Issue
Block a user