mirror of
https://github.com/qemu/qemu.git
synced 2024-11-25 11:53:39 +08:00
Revert "vnc: move initialization to framebuffer_update_request"
This reverts commit 9e1632ad07
.
Older gtk-vnc versions can't deal with non-incremental update
requests sending pseudo-encodings, so trying to send full server
state (including desktop size, cursor etc. which is done using
pseudo-encodings) doesn't fly. Return to old behavior to send
those only for new connects and when changes happen.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20210125104041.495274-2-kraxel@redhat.com>
This commit is contained in:
parent
9cd69f1a27
commit
d239726c53
11
ui/vnc.c
11
ui/vnc.c
@ -687,6 +687,10 @@ static void vnc_desktop_resize(VncState *vs)
|
||||
!vnc_has_feature(vs, VNC_FEATURE_RESIZE_EXT))) {
|
||||
return;
|
||||
}
|
||||
if (vs->client_width == pixman_image_get_width(vs->vd->server) &&
|
||||
vs->client_height == pixman_image_get_height(vs->vd->server)) {
|
||||
return;
|
||||
}
|
||||
|
||||
assert(pixman_image_get_width(vs->vd->server) < 65536 &&
|
||||
pixman_image_get_width(vs->vd->server) >= 0);
|
||||
@ -2042,10 +2046,6 @@ static void framebuffer_update_request(VncState *vs, int incremental,
|
||||
} else {
|
||||
vs->update = VNC_STATE_UPDATE_FORCE;
|
||||
vnc_set_area_dirty(vs->dirty, vs->vd, x, y, w, h);
|
||||
vnc_colordepth(vs);
|
||||
vnc_desktop_resize(vs);
|
||||
vnc_led_state_change(vs);
|
||||
vnc_cursor_define(vs);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2189,7 +2189,10 @@ static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings)
|
||||
break;
|
||||
}
|
||||
}
|
||||
vnc_desktop_resize(vs);
|
||||
check_pointer_type_change(&vs->mouse_mode_notifier, NULL);
|
||||
vnc_led_state_change(vs);
|
||||
vnc_cursor_define(vs);
|
||||
}
|
||||
|
||||
static void set_pixel_conversion(VncState *vs)
|
||||
|
Loading…
Reference in New Issue
Block a user