mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-01-15 13:20:50 +00:00
replay: fix check for QXL_SURF_FLAG_KEEP_DATA flag
A logical and (&&) was used instead of a bit one (&). Was working just as is the only flag defined. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Fabiano Fidencio <ffidenci@redhat.com>
This commit is contained in:
parent
a9e34bd27a
commit
f01c462031
@ -724,7 +724,7 @@ static void red_record_surface_cmd(FILE *fd, RedMemSlotInfo *slots, int group_id
|
||||
fprintf(fd, "u.surface_create.height %d\n", qxl->u.surface_create.height);
|
||||
fprintf(fd, "u.surface_create.stride %d\n", qxl->u.surface_create.stride);
|
||||
size = qxl->u.surface_create.height * abs(qxl->u.surface_create.stride);
|
||||
if (qxl->flags && QXL_SURF_FLAG_KEEP_DATA) {
|
||||
if ((qxl->flags & QXL_SURF_FLAG_KEEP_DATA) != 0) {
|
||||
write_binary(fd, "data", size,
|
||||
(uint8_t*)get_virt(slots, qxl->u.surface_create.data, size, group_id,
|
||||
&error));
|
||||
|
||||
@ -1025,7 +1025,7 @@ static QXLSurfaceCmd *red_replay_surface_cmd(SpiceReplay *replay)
|
||||
replay_fscanf(replay, "u.surface_create.height %d\n", &qxl->u.surface_create.height);
|
||||
replay_fscanf(replay, "u.surface_create.stride %d\n", &qxl->u.surface_create.stride);
|
||||
size = qxl->u.surface_create.height * abs(qxl->u.surface_create.stride);
|
||||
if (qxl->flags && QXL_SURF_FLAG_KEEP_DATA) {
|
||||
if ((qxl->flags & QXL_SURF_FLAG_KEEP_DATA) != 0) {
|
||||
read_binary(replay, "data", &read_size, (uint8_t**)&qxl->u.surface_create.data, 0);
|
||||
if (read_size != size) {
|
||||
spice_printerr("mismatch %ld != %ld", size, read_size);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user