summary refs log tree commit diff stats
path: root/python/tests
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>2021-11-10 11:38:00 +0100
committerGerd Hoffmann <kraxel@redhat.com>2021-11-22 11:14:28 +0100
commit2e572baf659f5a457c876c6b2d02a217afb401c5 (patch)
treec78a5968bd2d5ba181b4cd1ea4e6bdef749559cc /python/tests
parentc3abdb2faff62e3ded21bf8c3ef493ed70785623 (diff)
downloadfocaccia-qemu-2e572baf659f5a457c876c6b2d02a217afb401c5.tar.gz
focaccia-qemu-2e572baf659f5a457c876c6b2d02a217afb401c5.zip
ui/vnc-clipboard: fix adding notifier twice
vnc_server_cut_text_caps() is not guaranteed to be called only once.

If it called twice, we finally call notifier_list_add() twice with same
element. Which leads to loopback QLIST. So, on next
notifier_list_notify() we'll loop forever and QEMU stuck.

So, let's only register new notifier if it's not yet registered.

Note, that similar check is used in vdagent_chr_recv_caps() (before
call qemu_clipboard_peer_register()), and also before
qemu_clipboard_peer_unregister() call in vdagent_disconnect() and in
vnc_disconnect_finish().

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20211110103800.2266729-1-vsementsov@virtuozzo.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'python/tests')
0 files changed, 0 insertions, 0 deletions