Commit Graph

1060 Commits

Author SHA1 Message Date
Marc-André Moreau
e6eeae2ddd xfreerdp: fix clipboard null byte at end of string (issue #2209) 2014-12-21 13:49:22 -05:00
Marc-André Moreau
f1bd547580 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	client/X11/xf_client.c
2014-12-15 15:55:51 -05:00
Norbert Federa
5c68b1cf22 xfreerdp: fix RDP order color conversion
Note: /gdi:sw was working fine, this commit fixes /gdi:hw

* calculate color channel shifts based on X11 visual color masks
* fast path to skip conversion if visual color masks equal rdp color masks
* successfully tested 8/15/16/24/32 bpp rdp sessions on 16/24/32 bpp visuals
2014-12-15 16:34:09 +01:00
Marc-André Moreau
e2f377ae11 libfreerdp-core: fix TSG thread shutdown and input freeze problem 2014-12-15 09:42:04 -05:00
Marc-André Moreau
b579ad3cec Merge pull request #2261 from akallabeth/more_memleak_fixes
More warning and memleak fixes
2014-12-11 08:28:48 -05:00
Bernhard Miklautz
67b6cc7518 xfreerdp: clean up AuthenticationOnly
* removed dead code path: user name is always set now
* update message if no password was set
2014-12-08 18:13:54 +01:00
Bernhard Miklautz
2dca3f3356 xfreerdp: use login name if no user name was set
If no user name is set with /u:.. use the login name of the current user will be
used as user name.
2014-12-08 18:07:05 +01:00
Marc-André Moreau
53686e414a Merge pull request #2259 from erbth/master
fixed shutdown of input thread in xfreerdp
2014-12-08 10:01:27 -05:00
Armin Novak
23d64bd6ca Fixed uninitialized value. 2014-12-07 00:29:28 +01:00
erbth
9f068ca0f7 fixed shutdown of input thread in xfreerdp 2014-12-05 21:48:24 +01:00
Norbert Federa
443ee42db5 gdi: don't pollute invalid region with empty rects 2014-12-05 19:47:29 +01:00
Marc-André Moreau
d5414c33a5 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-12-04 13:32:59 -05:00
Marc-André Moreau
f2267a2277 libwinpr-clipboard: fix memory corruption and leaks 2014-12-04 13:19:10 -05:00
Norbert Federa
415a0a158e xfreerdp: smart sizing fix
Standard format PictStandardRGB24 is not always available.
Use XRenderFindVisualFormat instead of XRenderFindStandardFormat
2014-12-04 17:52:54 +01:00
Marc-André Moreau
75e0e84130 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-12-04 10:00:10 -05:00
Norbert Federa
c82d8c9c6b xfreerdp: fix cliprdr SelectionNotify enless loop
xf_cliprdr_process_selection_notify calls xf_cliprdr_send_client_format_list
if the SelectionNotify event property was None.
xf_cliprdr_send_client_format_list called XConvertSelection even if there
was no clipboard owner. In that case the XServer generates a SelectionNotify
event to the requestor (us) with property None and so on ...

The most obvious fix is to ensure that XConvertSelection is not called if
the owner is None which is done in this commit.
2014-12-04 00:19:23 +01:00
Marc-André Moreau
fdd2dc7601 freerdp: patch valgrind leaks, cleanup 2014-12-03 14:17:27 -05:00
Bernhard Miklautz
7b55c3a48e xfreerdp: fix formating - indentation 2014-12-03 18:23:20 +01:00
Bernhard Miklautz
bd8c3f448e xfreerdp: fix a possible re-size race condition
In case of server side initiated desktop resize it could happen that the
client was "scaling" even if smart-sizing was disabled. The reason for
this was that the "scaled" width and height was set when the X Configure
event arrived but not in xf_desktop_resize.
2014-12-03 18:08:01 +01:00
Marc-André Moreau
01ac15a879 libfreerdp-core: fix crash on failed redirect 2014-12-03 11:48:27 -05:00
Norbert Federa
0e443484d8 xfreerdp: smart-sizing and software-gdi fixes
* fixed crash on server-initiated desktop resize and fullscreen toggle with /gdi:sw
* implemented desktop resize for /gdi:sw
* check for availibility of XRender extension and show error messages if a setting would require it
* fixed compile error if xrender devel packages are missing
* fixed bug with server-initiated desktop resize in fullscreen mode
2014-12-03 15:41:10 +01:00
Norbert Federa
25f66d2e6d xfreerdp: added smart sizing, mt gesture fixes
- removed setting ScalingFactor
- added settings SmartSizingWidth and SmartSizingHeight
- changed option /smart-sizing to optionally support <width>x<height>
- consolidated transformation of input event coordinates
- rdp8 gfx ignored scaling and panning offsets: fixed
- never resize window on panning/pinching
- simplified keyboard multitouch gesture debugging emulation
- disabled keyboard multitouch gesture emulation debug code via define
2014-12-01 11:56:44 +01:00
Norbert Federa
85297fb343 xfreerdp: remove duplicated drawing operations
Most of xfreerdp's hw gdi callbacks did the the same X11 drawing operation
twice: Initially on the primary pixmap to keep the back buffer up to date
and then directly on the window in order to see the result.
This sequence is followed by a call to gdi_InvalidateRegion() to mark the
rectangular area of the drawing operation.
Since in xfreerdp's current design (or better current evolved state) the
backbuffer pixmap is obligatory, all drawing operations directly targeting
the window are redundant because of the subsequent EndPaint (mapped to
xf_hw_end_paint) where the damaged region is copied from the backbuffer
to the drawable.

- removed X11 drawing operations which directly target the window drawable
- fixed some errors in the calculation of the required update regions
2014-12-01 11:19:27 +01:00
Norbert Federa
3fa3384eb4 xfreerdp: several fixes for panned/pinched drawing
- use bilinear filter instead of nearest filter
- fixed invalid transformation matrix
- support non-proportional scaling
- fix calculation of transformed coordinates (rounding errors)
2014-12-01 11:17:16 +01:00
Marc-André Moreau
c26b557ab4 Merge pull request #2215 from nfedera/fix-2014-11-16-01
xfreerdp: fix polyline
2014-11-17 09:41:07 -05:00
Armin Novak
a2bbb265c1 Fixed memory leaks. 2014-11-17 00:36:01 +01:00
Armin Novak
bfd3962f03 Fixed memory leak. 2014-11-17 00:26:33 +01:00
Norbert Federa
84a4514ca9 xfreerdp: fix polyline
X11 gdi polyline has been broken by commit 3de5c62.
We don't need to convert the point coordinates if XDrawLines is called with
coordinate mode CoordModePrevious.
2014-11-16 18:48:14 +01:00
Armin Novak
7eb6bc112b Fixed dereference of NULL pointer. 2014-11-16 16:44:29 +01:00
Armin Novak
e20da04d15 Fixed uninitialized argument value. 2014-11-16 15:37:13 +01:00
Marc-André Moreau
b32341785e xfreerdp: remove dependency on libfreerdp-rail 2014-11-12 19:49:35 -05:00
Marc-André Moreau
6857a4f2b7 xfreerdp: remove old X11 RAIL code 2014-11-12 17:18:27 -05:00
Marc-André Moreau
2efa67b4f9 xfreerdp: more RAIL libfreerdp-rail migration 2014-11-12 17:00:57 -05:00
Marc-André Moreau
abf6d4f71e xfreerdp: prepare RAIL migration away from libfreerdp-rail 2014-11-12 16:42:32 -05:00
Marc-André Moreau
589c21d819 libfreerdp-utils: remove rail utils 2014-11-12 10:18:53 -05:00
Marc-André Moreau
1225c6b5ce xfreerdp: separate app windows from desktop windows 2014-11-11 22:27:33 -05:00
Marc-André Moreau
fb5e33440c xfreerdp: cleanup xf_window.c, xf_rail.c 2014-11-11 20:26:47 -05:00
Marc-André Moreau
d955851052 xfreerdp: remove RAIL dependency on deprecated event system 2014-11-11 18:32:18 -05:00
Marc-André Moreau
f3d1830eb4 xfreerdp: partially migrate RAIL to callback interface 2014-11-11 17:49:29 -05:00
Marc-André Moreau
b2f7c488ab xfreerdp: cleanup and fix RemoteApp 2014-11-11 16:35:30 -05:00
Marc-André Moreau
ee7299ec3f channels/tsmf: remove dependency on deprecated eventing system 2014-11-10 16:33:34 -05:00
Marc-André Moreau
edd4aa797c xfreerdp/tsmf: migrate to callback interface 2014-11-10 16:23:04 -05:00
Marc-André Moreau
129582e67f channels/tsmf: cleanup 2014-11-10 14:02:54 -05:00
Marc-André Moreau
f9814379cd xfreerdp: remove usage of XAllocColor (slow) 2014-11-10 11:15:37 -05:00
Marc-André Moreau
a6bb185760 channels/tsmf: add new callback interface 2014-11-07 18:33:45 -05:00
Hardening
7b108f1aa8 Merge pull request #2141 from zhangzl2013/polyline
fix polyline.
2014-10-31 22:15:13 +01:00
Martin Fleisz
0be28ba0f6 Merge pull request #1965 from akallabeth/dynamic-addin-naming
Dynamic channel library naming
2014-10-31 13:42:16 +01:00
Norbert Federa
62dbcac0c7 xfreerdp: fix glyph index primary drawing order
The fOpRedundant field of the GlyphIndex primary drawing order
(MS-RDPEGDI, chapter 2.2.2.2.1.1.2.13) was neglected which resulted in some
severe text rendering errors.
2014-10-29 20:56:26 +01:00
Marc-André Moreau
23e4963102 xfreerdp: remove dependency on clrconv 2014-10-21 22:19:11 -04:00
Marc-André Moreau
5f95f0776f libfreerdp-codec: add freerdp_image_copy_from_monochrome replacement function for deprecated freerdp_mono_image_convert 2014-10-21 21:56:10 -04:00
Marc-André Moreau
0aab1e7ee5 libfreerdp-codec: fix and enhance cursor image conversion 2014-10-21 20:46:15 -04:00
Marc-André Moreau
27dca6258a xfreerdp: replace wire to local clipboard conversion 2014-10-17 20:55:12 -04:00
Marc-André Moreau
83ecddd6c1 xfreerdp: replace cliprdr to wire format conversion 2014-10-17 20:40:11 -04:00
Marc-André Moreau
a1e660d92e freerdp: unify clipboard standard format id definitions 2014-10-16 22:20:12 -04:00
Marc-André Moreau
334dec3c1f winpr: add pragma pack, bitmap + clipboard definitions 2014-10-16 21:45:47 -04:00
Marc-André Moreau
f6b3b24c22 winpr: add new line ending, utf16 byte order swap functions 2014-10-16 18:07:44 -04:00
Marc-André Moreau
d668855be6 xfreerdp: refactor cliprdr helpers 2014-10-16 15:05:06 -04:00
Marc-André Moreau
4111625488 xfreerdp: cleanup unused cliprdr code 2014-10-15 22:56:25 -04:00
Marc-André Moreau
2e82e6d22d xfreerdp: fix clipboard sync 2014-10-15 22:48:18 -04:00
Marc-André Moreau
38bac22204 xfreerdp: migrate to cliprdr callback interface 2014-10-15 21:30:11 -04:00
Marc-André Moreau
4ba0010294 xfreerdp: partially migrate to cliprdr callback interface 2014-10-15 17:42:55 -04:00
Marc-André Moreau
7a5d45ed34 xfreerdp: further cliprdr refactoring 2014-10-15 15:49:57 -04:00
Marc-André Moreau
94da63f980 xfreerdp: start migrating to cliprdr callback interface 2014-10-14 22:58:01 -04:00
Marc-André Moreau
0abe24a1c0 xfreerdp: start refactoring cliprdr 2014-10-14 22:24:07 -04:00
Zhang Zhaolong
3de5c62bf3 fix polyline. 2014-10-09 18:11:38 +08:00
Bernhard Miklautz
36c2523d68 xfreerdp: add support to set keyboard indicators
* add generic function to check for X extensions
* detect x keyboard support
* add callbacks and client code to set/clear keyboard indicators
2014-10-06 10:37:37 +02:00
Bernhard Miklautz
d7a3d78279 xfreerdp: add support for PlaySound
Using X keyboard bell.
2014-10-03 16:04:15 +02:00
Marc-André Moreau
2a5192b027 Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx
Conflicts:
	client/Windows/wf_cliprdr.h
	client/Windows/wf_event.h
	client/X11/xf_client.c
	client/X11/xf_gdi.c
	libfreerdp/gdi/gdi.c
	server/Mac/mf_input.c
2014-09-17 19:09:56 -04:00
Marc-André Moreau
73471eb1f0 libfreerdp-gdi: fix 8bpp mode 2014-09-17 18:30:09 -04:00
Marc-André Moreau
48b35be953 xfreerdp: fix X11 16bpp mode 2014-09-17 14:29:56 -04:00
Marc-André Moreau
fb4e5d352b libfreerdp-codec: add proper 16bpp output format support 2014-09-17 12:17:41 -04:00
Armin Novak
059374457d Removed library prefix override. 2014-09-17 11:27:11 +02:00
Marc-André Moreau
1b7a84419c xfreerdp: partial fix for X11 16bpp mode 2014-09-16 19:12:26 -04:00
Marc-André Moreau
c40d8155a6 libfreerdp-gdi: fix SurfaceToSurface overlapping copies 2014-09-16 17:41:24 -04:00
Marc-André Moreau
b25258e8c6 libfreerdp-gdi: add support for ABGR plain colors 2014-09-15 16:28:53 -04:00
Marc-André Moreau
501386b790 libfreerdp-gdi: partial support for internal ABGR buffer format 2014-09-15 16:08:06 -04:00
Armin Novak
417e57d846 Decreased logging verbosity. 2014-09-15 19:49:34 +02:00
Armin Novak
7913a57bc5 Using wlog for logging in clients now. 2014-09-15 08:55:00 +02:00
Marc-André Moreau
f693ff42d7 Merge pull request #2097 from awakecoding/egfx
GDI Bitmap Update Optimization
2014-09-12 15:12:52 -04:00
Marc-André Moreau
198f94fe03 libfreerdp-gdi: add RDP8 graphics pipeline support 2014-09-12 14:57:44 -04:00
Marc-André Moreau
7130b7064e libfreerdp-gdi: fix bitmap caching 2014-09-12 01:03:19 -04:00
Marc-André Moreau
45d2bab95d xfreerdp: optimize bitmap updates 2014-09-11 22:29:09 -04:00
Marc-André Moreau
f5ff6e1bd8 Merge pull request #2095 from bmiklautz/feat/byemonolithic
Remove non-monolithic builds of libfreerdp
2014-09-11 18:46:32 -04:00
Bernhard Miklautz
0313ca3622 libfreerdp: always build "MONOLITHIC"
"libfreerdp" consisted of multiple (small) single libraries. If the cmake
option MONOLITHIC was used only one library was build combining all of
the libfreerdp-* libraries.
The only exceptions to this are libfreerdp-server and libfreerdp-client these
are build as separate libraries.

This commit obsoltes non-monolithic builds and makes monolithic builds
the default. The cmake option MONOLITHIC is also removed.
2014-09-12 00:19:53 +02:00
Bernhard Miklautz
c8e8ed60b9 xfreerdp: fix segfault
codec contexts are now generated and freed within core/codecs.c
2014-09-11 17:04:21 +02:00
Martin Fleisz
54b96290c9 Merge branch 'fix_2036' of git://github.com/akallabeth/FreeRDP into akallabeth-fix_2036
Conflicts:
	libfreerdp/codec/test/TestFreeRDPCodecPlanar.c
	libfreerdp/codec/test/TestFreeRDPCodecProgressive.c
	libfreerdp/core/transport.c
	libfreerdp/primitives/test/TestPrimitivesYCbCr.c
2014-09-11 13:03:01 +02:00
Marc-André Moreau
08373c50bc Merge branch 'master' of github.com:FreeRDP/FreeRDP into egfx 2014-09-10 10:44:48 -04:00
Marc-André Moreau
c71e4e18a1 libfreerdp-core: refactor codec context management 2014-09-10 00:42:41 -04:00
Armin Novak
b22b897389 Reformatted changed files. 2014-09-09 16:32:22 +02:00
Armin Novak
0ec5318c99 Fixed calling of dump functions, new API 2014-09-09 16:31:46 +02:00
erbth
cbc8b3a7e1 Merge branch 'egfx' of https://github.com/awakecoding/freerdp into egfx_new
Conflicts:
	channels/drdynvc/client/dvcman.c
	include/freerdp/codec/h264.h
	libfreerdp/codec/h264.c		after this merge h264 doesn't work anymore!!
	libfreerdp/utils/svc_plugin.c
2014-09-08 16:56:45 +02:00
Pavel Tsekov
831375aa47 xfreerdp: use _aligned_free instead of free
Use _aligned_free to release memory allocated with
freerdp_image_convert().

Fixes #2075
2014-09-08 15:00:47 +02:00
Marc-André Moreau
bd516e04fa libfreerdp-primitives: cleanup YCoCg 2014-09-06 21:13:37 -04:00
Marc-André Moreau
f14b0e0195 libfreerdp-codec: cleanup h264 decoder 2014-09-05 19:11:03 -04:00
Marc-André Moreau
033e75467b Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx 2014-09-05 17:29:35 -04:00
Marc-André Moreau
66bbbf0519 libfreerdp-gdi: enable altsec frame markers 2014-09-05 16:06:19 -04:00
Marc-André Moreau
5107f07b52 Merge pull request #2057 from ptsekov/software-gdi-improvements
Adjust the X11 code to work with the new GDI color
2014-09-05 15:05:53 -04:00
Pavel Tsekov
cdfcbeff5c X11: Convert GDI color to X11 color troughout.
* client/X11/xf_client.c (xf_pre_connect): Set the field `colormap' of
`struct xfContext' to the default colormap.
* client/X11/xfreerdp.h (xf_gdi_get_color): Declare new external function.
* client/X11/xf_gdi.c (xf_gdi_get_color): Define new external function.
Use xf_gdi_get_color() to get the appropriate X color index from the GDI
color representation.
* client/X11/xf_graphics.c: Likewise.
2014-09-04 12:44:03 +03:00
Marc-André Moreau
1491c5a7f9 libfreerdp-codec: initial partial upgrade tile support 2014-09-02 19:25:01 -04:00
erbth
25593c7250 H.264: converting only clipping rects to XRGB 2014-09-02 22:16:56 +02:00
Marc-André Moreau
656dd760c5 libfreerdp-codec: fix sub-band diffing 2014-08-26 16:15:22 -04:00
Marc-André Moreau
ec53dd612e libfreerdp-codec: fix progressive codec tile drawing offset, fix dequantization 2014-08-25 19:50:42 -04:00
Pavel Tsekov
08d60d01e0 Adjust the code to work with the new GDI color
representation.
* client/X11/xf_gdi.c:
Use freerdp_color_convert_drawing_order_color_to_gdi_color() to convert
from drawing order color representation to GDI color representation
troughout.
* client/X11/xf_graphics.c: Likewise.
2014-08-21 03:35:34 +03:00
Daniel Bungert
27fc3ee64d Fix multiple cases of use of uninitialized vars
* Zeroing xevent helped address some erratic behavior.
* valgrind complained about using xfBitmap uninitialized
  during shutdown, traced it back to the initialization.
  Bitmap_Prototype->size > sizeof(rdpBitmap).
* Early exit from recv_tpkt_pdu is necessary to address
  a shutdown crash - the channelId value was being used
  without being set in the disconnect case.
2014-08-20 03:54:05 -06:00
Marc-André Moreau
68b3d0476b libfreerdp-codec: start work on progressive inverse DWT 2014-08-19 14:48:09 -04:00
Marc-André Moreau
1a8c763309 Merge branch 'shadow' of github.com:awakecoding/FreeRDP 2014-08-18 17:06:13 -04:00
Ron Yaari
1b819067b0 X11: fix toggle-fullscreen option functionality 2014-08-18 10:41:40 +03:00
Idan Freiberg
27f5eaba88 Revert "X11: fix toggle-fullscreen option functionality"
This reverts commit 0c84c81401.
2014-08-18 10:39:47 +03:00
Ron Yaari
0c84c81401 X11: fix toggle-fullscreen option functionality 2014-08-18 10:19:47 +03:00
Norbert Federa
3c8700f62d Merge pull request #1963 from akallabeth/async-update-to-lib
Moved update thread from client to library.
2014-08-14 17:46:43 +02:00
erbth
095a7aba99 OpenH264 YUV data conversion with intel SSSE3 in assembly 2014-08-13 20:56:40 +02:00
Marc-André Moreau
e4a4aa4d3a Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow
Conflicts:
	channels/encomsp/client/encomsp_main.c
	libfreerdp/core/tcp.c
	libfreerdp/crypto/certificate.c
	server/Windows/CMakeLists.txt
	server/X11/xf_cursor.c
	server/X11/xf_input.c
	server/X11/xf_interface.c
	server/X11/xf_monitors.c
	server/X11/xf_peer.c
2014-08-11 19:22:33 -04:00
Marc-André Moreau
cff9c16c1e Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	channels/disp/client/disp_main.c
2014-08-11 10:36:07 -04:00
Marc-André Moreau
067da290dd Merge pull request #2027 from akallabeth/winpr-log
Replace stdout and logging defines with WLog, add logcat support
2014-08-11 10:38:28 -04:00
erbth
a8257b5201 fixed some memory leaks arround DVC and RDPEGFX 2014-08-08 15:19:49 +02:00
Armin Novak
0780c0993e Replaced fprintf(stderr with DEBUG_WARN 2014-08-07 22:21:07 +02:00
Marc-André Moreau
3895c930a3 Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow 2014-08-05 09:56:12 -04:00
erbth
64501b895b Merge branch 'egfx' of https://github.com/awakecoding/freerdp into egfx
Conflicts:
	libfreerdp/codec/h264.c (deleted in my repo in order to get complete remote file)
2014-07-30 13:11:05 +02:00
erbth
20e76411dc H.264 hack and first port of YUV to XRGB format conversion to assembly 2014-07-29 21:42:04 +02:00
Marc-André Moreau
a3de93d867 libfreerdp-codec: start parsing progressive codec 2014-07-28 23:41:16 -04:00
Marc-André Moreau
780079d629 Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx 2014-07-28 16:59:29 -04:00
Daryl Poe
3794720455 correct Pause key sequence
(cherry picked from commit 46a00b5c9e)
2014-07-25 11:31:50 +02:00
erbth
9501b6c58e OpenH264 first frame decode fix 2014-07-17 16:25:34 +02:00
Marc-André Moreau
e7fb6e67f5 shadow: add basic lobby functionality 2014-07-14 18:01:29 -04:00
Armin Novak
689902c995 Moved update thread from client to library. 2014-07-14 19:27:50 +02:00
Armin Novak
ad3255354d Added WITH_LIBRARY_VERSIONING, allowing to build shared libraries without
SOVERSION information. (required by Android)
2014-07-11 11:53:58 +02:00
Bernhard Miklautz
6a49bcfe40 winpr: always build "monolitic"
winpr is now always build as single library.
The build option MONOLITHIC_BUILD doesn't influence this behavior anymore.

The only exception is winpr-makecert-tool which is still build as extra
library.

This obsoletes complex_libraries for winpr.
2014-07-10 11:10:58 +02:00
Marc-André Moreau
03c91a92d1 libfreerdp-codec: add more egfx h264 debugging 2014-07-09 16:41:36 -04:00
Marc-André Moreau
10f8a0a45b xfreerdp: start using regionRects in egfx h264 decoding 2014-07-08 18:04:24 -04:00
Marc-André Moreau
6f1acb01dd channels/rdpgfx: parse H264 bitmap stream and meta block 2014-07-08 17:37:29 -04:00
Marc-André Moreau
ac7d23b9a3 libfreerdp-gdi: migrate to _aligned_malloc/_aligned_free 2014-07-08 15:07:19 -04:00
Marc-André Moreau
c16000e67b Merge branch 'master' of github.com:FreeRDP/FreeRDP into egfx 2014-07-08 12:29:30 -04:00
Marc-André Moreau
8516846999 libfreerdp-client: cleanup gfx options 2014-07-08 12:29:08 -04:00
Norbert Federa
196330111b xfreerdp: xfixes selection ownership notification
The X11 core protocol does not have support for selection ownership
notifications. Until now xfreerdp worked around this issue by always sending
a format list pdu to the server after sending the format data response pdu
which makes the server side think that the clients clipboard data has changed.

This workaround has some severe drawbacks:
* it causes unnecessary data transfers because even without local clipboard
  data changes the same data is always re-transferred over the channel
* with some clipboard managers (in the server sessions) you will get massive
  endless data transfer loops because these managers immediately request the
  data on clipboard changes.

The correct (core X11) way would be polling for selection ownership changes
which must include the ability to detect changes to the TIMESTAMP target if
the selection owner did not change.
The alternative to the poll based approach is using the X Fixes extension in
order to get selection ownership notifications.

This commit adds support for the XFIXES solution and also moves the complete
clipboard related event handling from xf_event.c to xf_cliprdr.c
2014-07-07 20:31:23 +02:00
Marc-André Moreau
bde954107d Merge branch 'egfx' of github.com:vworkspace/FreeRDP into egfx
Conflicts:
	client/X11/xf_gfx.c
2014-07-03 12:03:39 -04:00
Mike McDonald
4d3d78c487 Initial implementation of H.264 decoder for MS-RDPEGFX 2014-07-01 23:28:09 -04:00
Marc-André Moreau
4a4f4308b5 libfreerdp-codec: improve ClearCodec error checking 2014-07-01 16:32:36 -04:00
Marc-André Moreau
f304d8cc20 libfreerdp-codec: more ClearCodec vBar caching 2014-07-01 14:38:54 -04:00
Marc-André Moreau
8a5591bdef libfreerdp-codec: add ClearCodec glyph cache 2014-07-01 09:55:52 -04:00
Marc-André Moreau
78e00db45d Merge branch 'egfx' of github.com:awakecoding/FreeRDP into egfx
Conflicts:
	libfreerdp/codec/test/TestFreeRDPCodecClear.c
2014-07-01 09:11:50 -04:00
Marc-André Moreau
ff816feb72 Merge branch 'master' of github.com:FreeRDP/FreeRDP into egfx 2014-07-01 09:01:52 -04:00
Marc-André Moreau
e42465372a xfreerdp: initial remote assistance controls (ctrl+alt+c to request/release control) 2014-06-30 17:17:06 -04:00
Marc-André Moreau
49cd7806d9 libfreerdp-codec: improve ClearCodec decompressor 2014-06-26 17:08:51 -04:00
Marc-André Moreau
dd36617093 libfreerdp-codec: improve clear_decompress function parameters 2014-06-25 18:39:28 -04:00
Marc-André Moreau
c20c3abdf1 xfreerdp: fix egfx SurfaceToSurface off-by-one 2014-06-25 18:00:48 -04:00
Marc-André Moreau
95a0d96b58 xfreerdp: fix build warnings 2014-06-23 12:08:34 -04:00
Marc-André Moreau
78d3c82798 xfreerdp: fix multiple egfx-related memory leaks 2014-06-20 13:52:13 -04:00
Marc-André Moreau
ce6ff35297 xfreerdp: fix egfx off-by-one errors 2014-06-19 17:08:50 -04:00
Marc-André Moreau
160a3c4b61 libfreerdp-codec: avoid intermediate copy with planar egfx 2014-06-19 13:55:34 -04:00
Marc-André Moreau
57b0e4d010 libfreerdp-codec: handle flipping in planar decompression 2014-06-19 13:08:07 -04:00
Marc-André Moreau
425763d30a libfreerdp-codec: start offering more flexible planar codec decompression 2014-06-17 16:44:24 -04:00
Marc-André Moreau
d69316198f xfreerdp: add egfx support for planar codec 2014-06-17 16:15:30 -04:00
Marc-André Moreau
61eb7f2f8e libfreerdp-codec: fix ClearCodec decoding 2014-06-13 17:30:13 -04:00
Marc-André Moreau
eeb7cd2cb2 xfreerdp: initial egfx bitmap caching 2014-06-13 08:36:09 -04:00
Marc-André Moreau
27b1e76dbb xfreerdp: fix egfx SurfaceToSurface overlapping copies 2014-06-12 21:02:25 -04:00
Marc-André Moreau
50883e6c83 xfreerdp: fix egfx RemoteFX bitmap updates 2014-06-12 18:23:51 -04:00
Marc-André Moreau
ae02b5b512 xfreerdp: start handling egfx surface-to-surface 2014-06-12 16:13:12 -04:00
Marc-André Moreau
42c83c25f8 Merge branch 'egfx' of github.com:awakecoding/FreeRDP into egfx
Conflicts:
	channels/tsmf/client/tsmf_main.c
2014-06-12 12:08:15 -04:00
Marc-André Moreau
6f9a256c5c Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx
Conflicts:
	channels/drdynvc/client/dvcman.c
	client/X11/xf_client.c
	include/freerdp/dvc.h
2014-06-12 12:03:08 -04:00
Marc-André Moreau
fbea223ecf channels/gfx: add surface table helper, surface creation/deletion 2014-06-11 17:48:04 -04:00
Marc-André Moreau
2a82684521 channels: cleanup unused freerdp channels global functions 2014-06-11 16:27:31 -04:00
Armin Novak
4325741583 Merge remote-tracking branch 'origin/master' into tsmf-gstreamer-1.0
Conflicts:
	client/X11/xf_client.c
2014-06-11 11:27:08 +02:00
Marc-André Moreau
161e7b0026 libfreerdp-codec: simplify zgfx segment processing 2014-06-05 14:52:27 -04:00
Marc-André Moreau
6ad00125b4 xfreerdp: avoid using XCopyArea 2014-06-05 13:13:47 -04:00
Marc-André Moreau
68221cca73 xfreerdp: improve gfx frame handling 2014-06-05 12:36:01 -04:00
Marc-André Moreau
38ac1fd7b0 xfreerdp: improve graphics pipeline support 2014-06-04 22:49:03 -04:00
Marc-André Moreau
12e6c845eb channels/rdpgfx: cleanup debug output 2014-06-04 22:06:29 -04:00
Marc-André Moreau
f194a7b156 channels/rdpgfx: fix parsing of pdus in an array 2014-06-04 21:35:31 -04:00
Marc-André Moreau
83edc68422 xfreerdp: start integrating graphics pipeline 2014-06-04 18:03:25 -04:00
Marc-André Moreau
e11d7d967e Merge pull request #1868 from akallabeth/x11_shutdown_fix
X11 aync input shutdown fix
2014-06-04 11:59:58 -04:00
Hardening
07e0eba7db Check that bpp has reasonable value
As bpp is often used for malloc computations, let's check that it has
a reasonable value.
2014-05-29 10:12:02 +02:00
Armin Novak
2a6253ecfa Abortion check now just tests for quit in the queue. 2014-05-27 09:32:58 +02:00
Armin Novak
7e481d31b2 Now processing input messages in async thread. 2014-05-26 22:54:34 +02:00
Armin Novak
0c77671a86 Fixed input_thread shutdown issue if not initiated by user. 2014-05-26 19:09:25 +02:00
Armin Novak
b1770c33fd Now using posix shared memory with process specific identifier. 2014-05-23 13:09:11 +02:00
Armin Novak
78f9472b41 Removed tsmf.tid hack. 2014-05-23 13:08:22 +02:00
Armin Novak
248955da4c Fixed memory leak in manpage generation script. 2014-05-23 13:07:37 +02:00
Marc-André Moreau
e9653519fb xfreerdp: add proper OpenSSL include directory 2014-04-23 09:51:22 -04:00
Marc-André Moreau
784e9abd79 cmake: improve __FILE__ relative path hack 2014-04-21 14:42:24 -04:00
Marc-André Moreau
84cef49678 xfreerdp: treat Super key differently 2014-03-25 12:27:06 -04:00
Marc-André Moreau
25a7225a22 xfreerdp: don't execute action script when not present 2014-03-24 09:40:01 -04:00
Marc-André Moreau
234a3fa453 xfreerdp: add action script options for X11 events 2014-03-22 17:12:50 -04:00
Marc-André Moreau
770defc706 xfreerdp: add registration of key combinations 2014-03-22 14:40:52 -04:00
Marc-André Moreau
208085a894 xfreerdp: add ability to script key combinations 2014-03-14 00:11:44 -04:00
Marc-André Moreau
186172fa78 xfreerdp: cleanup keyboard code 2014-03-13 21:10:22 -04:00
Marc-André Moreau
f7bcdad775 Merge branch 'master' of github.com:awakecoding/FreeRDP into channels 2014-02-27 16:55:24 -05:00
Marc-André Moreau
c22490ec3b xfreerdp: disable auto-reconnect by default, add command-line option 2014-02-27 16:55:07 -05:00
Marc-André Moreau
419e2936be Merge branch 'master' of github.com:awakecoding/FreeRDP into channels 2014-02-27 15:09:06 -05:00
Marc-André Moreau
1afeb448b4 libfreerdp-core: expose stubbed WtsApi function table from the core 2014-02-16 20:12:45 -05:00
Marc-André Moreau
4bbd78a80b libfreerdp-core: remove unnecessary usage of freerdp_channels_data 2014-02-15 15:26:34 -05:00
Dan Bungert
dd88d7194e xfreerdp: Fix disappearing rail windows.
Rail windows currently disappear on resize and on implicit resize
(calc changing view type from standard to scientific).

The bitmask that we send to XCreateWindow() must match the actual
attributes that we are sending (see xf_create_window()).
Because of this we were unintentionally zeroing out some of the
window attributes rather than using their default values.
2014-02-12 16:22:18 -07:00
Marc-André Moreau
3782c2ad72 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-01-25 16:34:34 -05:00
Marc-André Moreau
9a4fb396da libwinpr-synch: add unit test for waitable timer asynchronous procedure calls 2014-01-24 18:08:06 -05:00
Marc-André Moreau
ae9c10e233 Merge pull request #1664 from vworkspace/auto-reconnect
Addition of auto reconnect to FreeRDP core and X11 client
2014-01-23 10:15:18 -08:00
Bernhard Miklautz
8392b1cc10 xfreerdp: handle negative mouse coordinates
If the pointer is moved out a window relatives coordinates can get negative
in X. This case wasn't handled.

fixed #1654
2014-01-22 15:20:17 +01:00
Mike McDonald
c4f6dcc24f Added auto reconnect to FreeRDP core and X11 client 2014-01-16 17:38:56 -05:00
Marc-André Moreau
e7974090bb freerdp: fix removal of OnParamChange event 2013-12-11 17:29:09 -05:00
Marc-André Moreau
eb20d0f770 freerdp: fix order of OrderSupport initialization 2013-12-10 12:30:25 -05:00
Marc-André Moreau
62199fc46a Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-12-10 11:54:03 -05:00
ZhaoHongbo
1ce5e908eb Fix some software can not normal work 2013-12-03 09:57:57 +08:00