]> source.dussan.org Git - tigervnc.git/commit
Keep ownership of second selection when first is lost
authorPierre Ossman <ossman@cendio.se>
Tue, 20 Jul 2021 14:38:04 +0000 (16:38 +0200)
committerPierre Ossman <ossman@cendio.se>
Tue, 20 Jul 2021 14:38:04 +0000 (16:38 +0200)
commit95ad4d70925c65ac3c90a10df5a4bf00ad22d90d
treeed0f5bdfb98d5028c55ba071035a83576a30eb71
parent1a008c1380305648ab50f1d99e73439747e9d61d
Keep ownership of second selection when first is lost

This fixes regression introduced by the extended clipboard extension.
Previously it was possible for the server to hold on to the CLIPBOARD
selection even if another application took ownership of PRIMARY. This is
important to handle the common use case of selecting something in order
to paste over it.

The new request based model doesn't readily support this as we assume
the client has lost its data once we push the new PRIMARY selection to
it. So to handle this we have the maintain a cache of the client's data,
and make sure to fill that cache before we do anything that might cause
the client to lose the data.
common/rfb/VNCServerST.cxx
unix/xserver/hw/vnc/vncSelection.c