Commit Graph

7746 Commits

Author SHA1 Message Date
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 8033022d6c Merge pull request #2236 from marioli/master
Rename tcp-functions as they are conflicting with qemu functions
2014-11-29 21:08:36 -05:00
Mario Lombardo 3c634f91db Rename tcp-functions as they are conflicting with qemu functions 2014-11-29 21:14:39 +01:00
Marc-André Moreau 88dd5eb8c5 Merge pull request #2225 from akallabeth/openh264_fix
Openh264 v1.2 API
2014-11-28 11:23:11 -05:00
Marc-André Moreau 2c76ac0ef9 Merge pull request #2234 from bmiklautz/fix/tls
Transport and tsg fixes
2014-11-28 11:00:27 -05:00
Bernhard Miklautz daa3e7c7f8 tsg: fix possible free of initialized memory 2014-11-27 15:08:07 +01:00
Bernhard Miklautz 5066a5e455 tsg: rpc_send_enqueue_pdu always free buffer
rpc_send_enqueue_pdu returns -1 on error but the type of error isn't
distinguishable. Therefore make sure that the buffer gets always freed.
The only exception to this is when the pdu was already queued. Then the
dequeuing function should take care of freeing the buffer when
processing the pdu.
2014-11-27 14:39:47 +01:00
Bernhard Miklautz 96ae2df5a4 tsg: unwind recursion in tsg_read 2014-11-26 19:46:32 +01:00
Bernhard Miklautz c0525574c8 transport: handle all return values of tsg_read
tsg_read can also return 0 which means that no data (complete PDU) is
currently available. This case wasn't handled properly.

Fixes #2056
2014-11-26 19:46:32 +01:00
Bernhard Miklautz f338e1f6c3 crypto: revert pull request #2130
The fix in #2130 eliminates the problem when connecting over a gateway
but introduces other problems server side and client side (client/server
can't detect anymore when a TCP connection was closed).
2014-11-26 19:46:32 +01:00
Bernhard Miklautz 81a6c43938 tsg: fix segfault
Revert false positive from commit 585d9101b7
buffer shouldn't be freed since it is set and used in a stream.
2014-11-26 19:46:32 +01:00
Hardening c9bc88d5f0 Merge pull request #2232 from Tarnyko/master
wlfreerdp: add keyboard and mouse wheel support, fix bugs
2014-11-26 11:17:21 +01:00
Manuel Bachmann a9cf8b5838 wlfreerdp: add keyboard and mouse wheel support, fix bugs
This commit does the following:

* fix the keyboard logic (which now fully works), add support for vertical mouse wheel events ;
* make the rendering a lot more efficient, by using RDP damage information to refresh only the relevant part of the buffer ;
* fix two race conditions. wlfreerdp should not crash anymore now ;
* fix shm_open() and shm_unlink() calls ;
* improve the code style.

Signed-off-by: Manuel Bachmann <tarnyko@tarnyko.net>
2014-11-26 10:46:05 +01:00
Armin Novak 402cf2064b Fixed OpenH264 detection script. 2014-11-21 10:28:38 +01:00
Marc-André Moreau 3992e5e650 Merge pull request #2224 from hardening/rdpei_server
Add server-side RDPEI
2014-11-20 16:37:12 -05:00
Marc-André Moreau f86ae745f3 Merge pull request #2223 from awakecoding/master
Clipboard, OS X Threads, Lync RDP Server
2014-11-20 16:25:20 -05:00
Hardening ed6f380434 Add server-side RDPEI
This patch mutualize code between client and server for RDPEI. And add support for
the server-side.
2014-11-20 22:19:29 +01:00
Marc-André Moreau f5817ce457 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-11-20 16:14:44 -05:00
Marc-André Moreau d8c9a4029d Merge pull request #2220 from hopToDev/master
Call redraw only when region is invalidated
2014-11-20 16:14:22 -05:00
Marc-André Moreau b8f694d8df mfreerdp: fix cliprdr copy with Windows XP 2014-11-20 16:05:13 -05:00
Marc-André Moreau c4ab4ad128 channels/cliprdr: partially fix short format names 2014-11-20 14:28:05 -05:00
Marc-André Moreau 8449e1c946 mfreerdp: fix thread stopping 2014-11-20 12:34:49 -05:00
Marc-André Moreau 9258ecca37 libwinpr-clipboard: improve robustness 2014-11-20 12:08:01 -05:00
Marc-André Moreau 871339da88 Merge branch 'master' of github.com:awakecoding/FreeRDP
Conflicts:
	winpr/libwinpr/thread/thread.c
2014-11-20 11:51:18 -05:00
Marc-André Moreau 2afcac7838 libwinpr-thread: fix non-blocking internal pipe-based event on OS X 2014-11-20 11:48:02 -05:00
Marc-André Moreau 1c88822ccb libfreerdp-core: treat GCC data block 0xC009 as CS_MULTITRANSPORT 2014-11-19 21:00:28 -05:00
Mehul Dhorda 58ab355bad Call redraw only when region is invalidated
Added a condition to redraw a rect only when region is invalidated. For
example. this avoids a redraw when only the cursor changes on the
remote machine.
2014-11-19 11:48:12 -08:00
Marc-André Moreau 3f5aa863cb libfreerdp-core: fix server-side activated state 2014-11-19 14:21:23 -05:00
Marc-André Moreau d6e6db05e9 libfreerdp-core: sanitize NSCodec capabilities 2014-11-19 09:39:47 -05:00
Marc-André Moreau ab9a4318c8 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-11-18 14:21:55 -05:00
Marc-André Moreau 4fbec7633a cmake: add WITH_FREERDS option 2014-11-17 12:31:31 -05:00
Marc-André Moreau 8a5ded36e6 Merge pull request #2217 from Tarnyko/master
wlfreerdp: reorganize source files, add input methods
2014-11-17 11:10:48 -05:00
Manuel Bachmann 15d37e9be0 wlfreerdp: fix minor error in command line printing
One argument was missing in status_print().

Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
2014-11-17 16:58:50 +01:00
Manuel Bachmann 93ff550ae0 wlfreerdp: reorganize source files, add input methods
We split the one massive source file into multiple separate
source files and headers, just like it is done for other
clients.

We add a new "wlfInput" interface which will try to
initialize mouse and keyboard at startup. Mouse inputs
already work, keyboard inputs need further investigation.

Signed-off-by: Manuel Bachmann <tarnyko@tarnyko.net>
2014-11-17 16:42:27 +01:00
Marc-André Moreau 8a7a71a7b6 Merge pull request #2213 from akallabeth/wlog_callback_appender
Wlog callback appender
2014-11-17 09:41:58 -05: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
Martin Fleisz 98a05db088 Merge pull request #2216 from akallabeth/memleak_fix
Various bug fixes
2014-11-17 12:07:00 +01:00
Armin Novak 8640872161 Fixed mixed variable declaration. 2014-11-17 01:42:24 +01:00
Armin Novak c3f47128db Fixed header include. 2014-11-17 01:39:45 +01:00
Armin Novak e61acfe6b4 Fixed null pointer dereference. 2014-11-17 01:26:31 +01:00
Armin Novak 1873cc037d Fixed null pointer dereference. 2014-11-17 01:23:54 +01:00
Armin Novak d30b6ed04d Fixed null pointer dereference. 2014-11-17 01:22:33 +01:00
Armin Novak 6ef98e2aa7 Fixed null pointer dereference. 2014-11-17 01:20:46 +01:00
Armin Novak e390dd0eeb Fixed null pointer dereference. 2014-11-17 01:19:40 +01:00
Armin Novak deef61dfd0 Fixed memory leak. 2014-11-17 01:16:56 +01:00
Armin Novak bc963c43d8 Fixed double free. 2014-11-17 01:13:47 +01:00
Armin Novak 83477e5344 Fixed memory leak. 2014-11-17 01:10:45 +01:00
Armin Novak 727a7a9aed Fixed memory leaks. 2014-11-17 01:08:38 +01:00
Armin Novak 9ea898a3c2 Fixed memory leaks. 2014-11-17 01:07:07 +01:00