FreeRDP/client
ilammy 11c55f8dcd client/X11: cache original clipboard data for raw transfers
FreeRDP uses clipboard->data to cache the result of the Windows->X11
clipboard format conversion, and xf_cliprdr_process_selection_request()
immediately provides this result to local applications if they request
the same clipboard format again. This saves us a possibly costly
conversion in case where the user pastes data repeatedly.

However, this caching mechanism did not support raw clipboard transfers
where the unmodified data is passed between two FreeRDP clients. We use
the same XClipboard protocol for this, so the clipboard->data is in play.
We clear the cached value when we receive new data from the server, so
initially raw transfers are fine. But if some local application (e.g.,
a clipboard manager) asks for some data format before the data is pasted
into the second FreeRDP session then clipboard->data will contain the
*converted* data. And this converted cached data will be provided to
the second FreeRDP session as a part of the raw data transfer. Instead
we should have provided the original data.

In order to achieve this we are now caching the original data in the
same way as the converted one, and the original data is now correctly
provided when the second FreeRDP session asks for a raw data transfer.
2017-02-11 00:48:36 +02:00
..
Android Updated library names after change in #3704 2017-01-16 18:08:07 +01:00
common Merge pull request #3735 from mfleisz/cmake_install_pdb_fix 2017-02-01 11:06:52 +01:00
DirectFB fix string format specifiers 2016-12-16 13:48:43 +01:00
iOS fix string format specifiers 2016-12-16 13:48:43 +01:00
Mac Code style fixes 2016-10-20 11:22:08 -04:00
Sample fix string format specifiers 2016-12-16 13:48:43 +01:00
Wayland Install man pages 2017-01-16 11:34:32 +01:00
Windows remove redundant assignment 2017-01-30 15:09:36 +05:00
X11 client/X11: cache original clipboard data for raw transfers 2017-02-11 00:48:36 +02:00
.gitignore wlfreerdp: add initial man page 2017-01-16 11:11:59 +01:00
CMakeLists.txt freerdp: UWP porting 2016-03-29 16:03:15 -04:00
freerdp-client.pc.in Include major version number in library names 2017-01-16 11:11:58 +01:00
FreeRDP-ClientConfig.cmake.in appropriate names in server & client cmake exports 2016-02-03 13:37:35 +01:00