aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/mi/mispans.c
diff options
context:
space:
mode:
authorUlrich Sibiller <uli42@gmx.de>2020-11-18 22:41:32 +0100
committerUlrich Sibiller <uli42@gmx.de>2021-06-20 20:12:51 +0200
commit99a2d6e292a56ad3756348e5b8d997a2b75c7539 (patch)
tree8c4b2eb8f3e42b169cc81ae1d4eb871f2259deb6 /nx-X11/programs/Xserver/mi/mispans.c
parent63ef52c63ab376c6db068397edbc2cd295f205b7 (diff)
downloadnx-libs-99a2d6e292a56ad3756348e5b8d997a2b75c7539.tar.gz
nx-libs-99a2d6e292a56ad3756348e5b8d997a2b75c7539.tar.bz2
nx-libs-99a2d6e292a56ad3756348e5b8d997a2b75c7539.zip
Clipboard.c: implement target caching
Some applications (e.g. Chrome, Firefox) send multiple TARGETS requests when they want to paste a selection (reason currently unknown). If such an application runs in an NX session and the current clipboard owner is on the real X server this triggers many (superflous) roundtrips. By caching the first answer to those requests and answering subsequent requests from the cache we can eliminate all this communication. The implemention resulted from attempting to fix ArcticaProject/nx-libs/issues/#969 (solution 1a) but it turned out that the speedup this brings does not help in reducing the number of requests by firefox. It must be a bug in the firefox code. Nevertheless I kept the code as it should speed up the whole pasting process considerably while reducing communication over the wire. This also eliminates a memory leak in the target forwarding code which was unnoticed before.
Diffstat (limited to 'nx-X11/programs/Xserver/mi/mispans.c')
0 files changed, 0 insertions, 0 deletions