diff options
author | Ulrich Sibiller <uli42@gmx.de> | 2020-11-18 22:41:32 +0100 |
---|---|---|
committer | Ulrich Sibiller <uli42@gmx.de> | 2021-06-20 20:12:51 +0200 |
commit | 99a2d6e292a56ad3756348e5b8d997a2b75c7539 (patch) | |
tree | 8c4b2eb8f3e42b169cc81ae1d4eb871f2259deb6 /nxcomp/src/Loop.cpp | |
parent | 63ef52c63ab376c6db068397edbc2cd295f205b7 (diff) | |
download | nx-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 'nxcomp/src/Loop.cpp')
0 files changed, 0 insertions, 0 deletions