Commit 3cded5400925452fcd1adca9109a5d30a92b4dac

Authored by aurel32
1 parent ceb42de8

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
Showing 1 changed file with 1 additions and 1 deletions
... ... @@ -1598,7 +1598,7 @@ static void pixel_format_message (VncState *vs) {
1598 1598 else if (vs->ds->surface->pf.bits_per_pixel == 8)
1599 1599 vs->send_hextile_tile = send_hextile_tile_8;
1600 1600 vs->clientds = *(vs->ds->surface);
1601   - vs->clientds.flags |= ~QEMU_ALLOCATED_FLAG;
  1601 + vs->clientds.flags &= ~QEMU_ALLOCATED_FLAG;
1602 1602 vs->write_pixels = vnc_write_pixels_copy;
1603 1603  
1604 1604 vnc_write(vs, pad, 3); /* padding */
... ...