diff mbox series

[07/12] ui/vdagent: unregister clipboard peer on finalize

Message ID 20210719072654.845901-8-marcandre.lureau@redhat.com (mailing list archive)
State New, archived
Headers show
Series Clipboard fixes (for 6.1?) | expand

Commit Message

Marc-André Lureau July 19, 2021, 7:26 a.m. UTC
From: Marc-André Lureau <marcandre.lureau@redhat.com>

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 ui/vdagent.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Marc-André Lureau July 21, 2021, 8:24 a.m. UTC | #1
Hi

On Mon, Jul 19, 2021 at 11:30 AM <marcandre.lureau@redhat.com> wrote:

> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  ui/vdagent.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/ui/vdagent.c b/ui/vdagent.c
> index 5ae5734c81..bce9f44b7b 100644
> --- a/ui/vdagent.c
> +++ b/ui/vdagent.c
> @@ -782,6 +782,7 @@ static void vdagent_chr_fini(Object *obj)
>      VDAgentChardev *vd = QEMU_VDAGENT_CHARDEV(obj);
>
>      buffer_free(&vd->outbuf);
> +    qemu_clipboard_peer_unregister(&vd->cbpeer);
>

The call needs to be guarded, as notifier_remove() crashes on non-added
notifiers. The mouse handler should also be deactivated. Similarly to
set_fe_open(false). And I realize that outbuf should also be reset in that
case.

 }
>
>  static const TypeInfo vdagent_chr_type_info = {
> --
> 2.32.0.93.g670b81a890
>
>
>
diff mbox series

Patch

diff --git a/ui/vdagent.c b/ui/vdagent.c
index 5ae5734c81..bce9f44b7b 100644
--- a/ui/vdagent.c
+++ b/ui/vdagent.c
@@ -782,6 +782,7 @@  static void vdagent_chr_fini(Object *obj)
     VDAgentChardev *vd = QEMU_VDAGENT_CHARDEV(obj);
 
     buffer_free(&vd->outbuf);
+    qemu_clipboard_peer_unregister(&vd->cbpeer);
 }
 
 static const TypeInfo vdagent_chr_type_info = {