mirror of
https://github.com/xemu-project/xemu.git
synced 2024-12-18 09:19:53 +00: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))) {
|
!vnc_has_feature(vs, VNC_FEATURE_RESIZE_EXT))) {
|
||||||
return;
|
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 &&
|
assert(pixman_image_get_width(vs->vd->server) < 65536 &&
|
||||||
pixman_image_get_width(vs->vd->server) >= 0);
|
pixman_image_get_width(vs->vd->server) >= 0);
|
||||||
@ -2042,10 +2046,6 @@ static void framebuffer_update_request(VncState *vs, int incremental,
|
|||||||
} else {
|
} else {
|
||||||
vs->update = VNC_STATE_UPDATE_FORCE;
|
vs->update = VNC_STATE_UPDATE_FORCE;
|
||||||
vnc_set_area_dirty(vs->dirty, vs->vd, x, y, w, h);
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
vnc_desktop_resize(vs);
|
||||||
check_pointer_type_change(&vs->mouse_mode_notifier, NULL);
|
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)
|
static void set_pixel_conversion(VncState *vs)
|
||||||
|
Loading…
Reference in New Issue
Block a user