mirror of https://github.com/xemu-project/xemu.git
ui/vdagent: call vdagent_disconnect() when agent connection is lost
when the agent connection is lost, the input handler of the mouse doesn't deactivate, which results in unresponsive mouse events in VNC windows. To fix this issue, call vdagent_disconnect() to reset the state each time the frontend disconncect Signed-off-by: Guoyi Tu <tugy@chinatelecom.cn> Signed-off-by: dengpengcheng <dengpc12@chinatelecom.cn> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <71fd5a58fd09f10cdb35f167b2edb5669300116e.1692281173.git.tugy@chinatelecom.cn>
This commit is contained in:
parent
7007e98c4b
commit
1b4fd51656
|
@ -870,8 +870,11 @@ static void vdagent_disconnect(VDAgentChardev *vd)
|
||||||
|
|
||||||
static void vdagent_chr_set_fe_open(struct Chardev *chr, int fe_open)
|
static void vdagent_chr_set_fe_open(struct Chardev *chr, int fe_open)
|
||||||
{
|
{
|
||||||
|
VDAgentChardev *vd = QEMU_VDAGENT_CHARDEV(chr);
|
||||||
|
|
||||||
if (!fe_open) {
|
if (!fe_open) {
|
||||||
trace_vdagent_close();
|
trace_vdagent_close();
|
||||||
|
vdagent_disconnect(vd);
|
||||||
/* To reset_serial, we CLOSED our side. Make sure the other end knows we
|
/* To reset_serial, we CLOSED our side. Make sure the other end knows we
|
||||||
* are ready again. */
|
* are ready again. */
|
||||||
qemu_chr_be_event(chr, CHR_EVENT_OPENED);
|
qemu_chr_be_event(chr, CHR_EVENT_OPENED);
|
||||||
|
|
Loading…
Reference in New Issue