Commit Graph

427 Commits

Author SHA1 Message Date
Armin Novak
0c57065c73 GlyphCache: Erasing destination if not redundant. 2016-10-06 13:43:11 +02:00
Armin Novak
b7f32353f4 Fixed pattern checks. 2016-10-06 13:43:11 +02:00
Armin Novak
823b1ec2f0 Added proper brush support to fill rect. 2016-10-06 13:43:11 +02:00
Armin Novak
9471f82fea Fixed missing include preventing symbol export. 2016-10-06 13:43:11 +02:00
Armin Novak
44b8756617 Warning fixes. 2016-10-06 13:43:10 +02:00
Armin Novak
64c5d78b3f Fixed clang warnings. 2016-10-06 13:43:09 +02:00
Armin Novak
c7448c03fb Added FREERDP_LOCAL
CMake 2.8 does not support default visibility on windows.
To allow building tests add the FREERDP_LOCAL define for each
function that is internal to FreeRDP.
When build with testing these functions are exported and available
for use by tests.
2016-10-06 13:43:09 +02:00
Armin Novak
6d6b991c26 Fixed BitBlt function for overlapping areas. 2016-10-06 13:43:09 +02:00
Armin Novak
5554d805db Code cleanup. 2016-10-06 13:43:09 +02:00
Armin Novak
f16ffaefa7 Fixed glyph cache issues. 2016-10-06 13:43:08 +02:00
Armin Novak
b765374d32 Refactored BitBlt, implementing everything now. 2016-10-06 13:43:08 +02:00
Armin Novak
f17f1475d8 Fixed font drawing. 2016-10-06 13:43:08 +02:00
Armin Novak
dd9354d55f Added argument checks. 2016-10-06 13:43:08 +02:00
Armin Novak
844f7b7941 Made logging less verbose. 2016-10-06 13:43:08 +02:00
Armin Novak
b888059bd7 Fixed color conversion issues. 2016-10-06 13:43:08 +02:00
Armin Novak
ab4725dd5d Fixed error message parameter. 2016-10-06 13:43:07 +02:00
Armin Novak
896f500e7e Fixed h264 dummy init. 2016-10-06 13:43:06 +02:00
Armin Novak
bc5aa1be0c Added more GDI orders. 2016-10-06 13:43:06 +02:00
Armin Novak
984bec733f Simplified gdi_patblt 2016-10-06 13:43:05 +02:00
Armin Novak
d1a3362a8f Fixed windows software GDI issues. 2016-10-06 13:43:05 +02:00
Armin Novak
66cf000efd Fixed broken test. 2016-10-06 13:43:05 +02:00
Armin Novak
e3b43b991d Fixed some bitblt issues. 2016-10-06 13:43:05 +02:00
Armin Novak
5fa9344c8f Deactivated broken tests. 2016-10-06 13:43:05 +02:00
Armin Novak
9034867bb7 Added brush helper function to retrieve style. 2016-10-06 13:43:05 +02:00
Armin Novak
b505220328 Fixed Get/SetPixel function tests. 2016-10-06 13:43:05 +02:00
Armin Novak
d3538fc930 Fixed gdi LineTo and tests. 2016-10-06 13:43:04 +02:00
Armin Novak
35f1347d53 Fixed warnings and mac build. 2016-10-06 13:43:04 +02:00
Armin Novak
a06ceb6239 Fixed duplicate setting of callback. 2016-10-06 13:43:04 +02:00
Armin Novak
867528015a Simplified bitmap drawing. 2016-10-06 13:43:03 +02:00
Armin Novak
ec0d68bf4c Fixed bitmap update decoding. 2016-10-06 13:43:03 +02:00
Armin Novak
c22d16bc09 Reverted bitmap update changes. 2016-10-06 13:43:03 +02:00
Armin Novak
3898b56618 Fixed drawing orders. 2016-10-06 13:43:03 +02:00
Armin Novak
e3f88ad7ec Fixed BitBlt_PSDPxax 2016-10-06 13:43:03 +02:00
Armin Novak
032bdef955 Unified bitmap drawing. 2016-10-06 13:43:03 +02:00
Armin Novak
b8ff3cb235 Fixed (a lot of) GDI drawing issues. 2016-10-06 13:43:03 +02:00
Armin Novak
bb82d48506 Fixed part of font cache issue. 2016-10-06 13:43:03 +02:00
Armin Novak
3f90966da6 Bug fixes. 2016-10-06 13:43:03 +02:00
Armin Novak
85bbe2a908 API refactoring. 2016-10-06 13:43:03 +02:00
Armin Novak
f680b62d03 Fixed PATINVERT. 2016-10-06 13:43:02 +02:00
Armin Novak
e650fdb2b6 Bugfixes. 2016-10-06 13:43:02 +02:00
Armin Novak
17fd5526ac Cleanups. 2016-10-06 13:43:02 +02:00
Armin Novak
8b69b16cbb Refactored Glyph API. 2016-10-06 13:43:02 +02:00
Armin Novak
9d5ca34d0d Fixed pointer initialisation for X11. 2016-10-06 13:43:02 +02:00
Armin Novak
04fb4e4e4c Fixed rectangle clipping and warnings. 2016-10-06 13:43:02 +02:00
Armin Novak
c229a1939d Updated codec API, unified drawing order color decoding. 2016-10-06 13:43:02 +02:00
Armin Novak
6525a564f1 Fixed 24bit color format. 2016-10-06 13:43:01 +02:00
Armin Novak
39d6ad3acf Fixed source format for bitmap decompress. 2016-10-06 13:43:01 +02:00
Armin Novak
f9a89ae6b4 Bug fixes, refactoring. 2016-10-06 13:43:01 +02:00
Armin Novak
960bc26e9a Further refactored tests. 2016-10-06 13:43:01 +02:00
Armin Novak
9f0a9c3b92 Refactored GDI. 2016-10-06 13:43:01 +02:00
Armin Novak
c5b6e7e4ea Fixed GDI tests. 2016-10-06 13:43:01 +02:00
Armin Novak
8fffda5740 Fixed clearcodec and codecs reset. 2016-10-06 13:43:01 +02:00
Armin Novak
5e9c9f90ab Code refactoring. 2016-10-06 13:43:01 +02:00
Armin Novak
e6e8f2d4f2 Added ROP to string function. 2016-10-06 13:43:00 +02:00
Armin Novak
9fc8dc6b5d Removed gdi->codecs, unused. 2016-10-06 13:43:00 +02:00
Armin Novak
a6cef5cde7 Fixed GFX related issues. 2016-10-06 13:43:00 +02:00
Armin Novak
e860fde4bc Fixed function arguments. 2016-10-06 13:43:00 +02:00
Armin Novak
03907c82a9 Fixed issues. 2016-10-06 13:43:00 +02:00
Armin Novak
d98677094e Fixed warnings. 2016-10-06 13:43:00 +02:00
Armin Novak
bbae42d9c3 Compile fix 2016-10-06 13:43:00 +02:00
Armin Novak
5039a82d8b GDI fixes. 2016-10-06 13:43:00 +02:00
Armin Novak
e1c3adf61f freerdp_image_copy fixes, 8bit color improvements. 2016-10-06 13:42:59 +02:00
Armin Novak
716c5c53e9 256 color support. 2016-10-06 13:42:59 +02:00
Armin Novak
48d1b4ee13 Fixed color ordering for GDI. 2016-10-06 13:42:59 +02:00
Armin Novak
016f3a408b xxx. 2016-10-06 13:42:59 +02:00
Armin Novak
b668b0d75e Api update. 2016-10-06 13:42:59 +02:00
Armin Novak
0e7bb508c1 Bitmaps now remember their format. 2016-10-06 13:42:59 +02:00
Armin Novak
5633f5242a Fixed crashes. 2016-10-06 13:42:59 +02:00
Armin Novak
da956e0388 ... 2016-10-06 13:42:59 +02:00
Armin Novak
24599af991 More color fixes. 2016-10-06 13:42:58 +02:00
Armin Novak
df35c135d1 Fixed color conversion, unified GFX and updated API. 2016-10-06 13:42:58 +02:00
zihao.jiang
e7d9e91864 channels/rdpgfx: Make freerdp_client_codecs_prepare calls codec reset. It fix broken h264 client from #3328. Also it doesn't make sense that we don't need width and height for codec initialization while we need them for codec reset 2016-05-30 02:00:05 +08:00
Marc-André Moreau
54cdd6a1ae channels/rdpgfx: fix resetting of codec contexts 2016-05-11 13:42:54 -04:00
Armin Novak
5bc333c626 Implemented GFX AVC444 support. 2016-03-16 13:43:18 +01:00
Armin Novak
3a3ec85898 Unified RDPGFX_RECT16 and RECTANGLE_16 2016-03-16 13:43:17 +01:00
Armin Novak
5bb68a0b39 Fixed broken resource cleanup. 2016-03-02 14:46:33 +01:00
Armin Novak
8997c6c03a Added log messages for unsupported surface commands. 2016-03-02 14:46:33 +01:00
Armin Novak
2e110c7f35 Fixed codec reset, now resetting resolution too.
H264 and others require the surface resolution to work properly.
This initializes the codecs and the resolution on reset.
2016-03-02 14:46:33 +01:00
Armin Novak
93f3c060d2 Fixed memory overlap check. 2016-01-18 09:32:34 +01:00
Armin Novak
123cd523e0 Fixed SRCCOPY, using memmove now.
memcpy is not defined, if source and destination overlap.
2016-01-18 09:18:42 +01:00
Armin Novak
a0d6a1f77f Fixed memory leak. 2016-01-15 09:33:21 +01:00
Hardening
df81e842a5 Merge pull request #2932 from realjiangms/fix_gdi_brush
GDI: Fix usage of gdi_get_brush_pointer.
2015-12-18 10:50:51 +01:00
Bernhard Miklautz
7f7ef1a464 Merge pull request #2831 from akallabeth/gdi_fix
Fixed GDI_BITMAP, now using custom deallocation function.
2015-12-14 17:58:25 +01:00
Martin Fleisz
d0cda5a5c7 Merge pull request #2933 from realjiangms/fix_gdi_bitmap_update
GDI: Fix gdi_bitmap_update to check dest buffer size.
2015-10-20 08:44:52 +02:00
zihao.jiang
e8fb821be7 GDI: Fix gdi_bitmap_update to check dest buffer size. 2015-10-18 17:53:22 +08:00
zihao.jiang
83d58ccfe8 GDI: Fix usage of gdi_get_brush_pointer.
Currently we get color from brush according to the offset in the paint region.
According to MSDN https://msdn.microsoft.com/en-us/library/dd183396(v=vs.85).aspx, it should get color according to dest position instead of offset in paint region.
2015-10-17 02:49:45 +08:00
Marc-André Moreau
029cbf3aca libfreerdp-gdi: fix egfx multimon support 2015-10-13 15:50:39 -04:00
Armin Novak
551eca246b Ignoring H264 decompression failures.
When connecting to windows 8.1 machines the remote RDP server
implementation sometimes sends invalid H264 data. To avoid client
disconnections ignore the broken updates.
2015-09-03 12:11:15 +02:00
Martin Haimberger
52405a3e79 Remove WIN32ERROR type
All return values are UINT now.
2015-08-27 05:38:20 -07:00
Armin Novak
db3fa9a0d2 Added gdi_CreateBitmapEx function. 2015-08-26 12:14:46 +02:00
Armin Novak
e8554a51b8 Selecting correct bitmap in hdc now. 2015-08-12 12:53:35 +02:00
Armin Novak
8024a086cd Updated tests for new gdi_CreateBitmap API. 2015-08-12 11:15:07 +02:00
Armin Novak
253a60aaf3 Fixed GDI_BITMAP, now using custom deallocation function.
gdi_surface_bits: Now properly discarding old bitmap before creating a new one.
2015-08-12 11:01:05 +02:00
Martin Haimberger
6ab0187d84 Merge remote-tracking branch 'upstream/master' into mh-channel
Conflicts:
	channels/audin/client/oss/audin_oss.c
	channels/drive/client/drive_main.c
	channels/printer/client/printer_cups.c
	channels/printer/client/printer_main.c
	channels/rail/client/rail_main.c
	channels/rdpgfx/client/rdpgfx_main.c
	channels/rdpsnd/client/oss/rdpsnd_oss.c
	channels/remdesk/client/remdesk_main.c
	channels/remdesk/server/remdesk_main.c
	channels/tsmf/client/tsmf_media.c
2015-07-15 01:57:07 -07:00
Marc-André Moreau
cf2f4bf9cf Merge pull request #2737 from nfedera/nf-fix-gdi-return-value-weirdness
libfreerdp/gdi: fixed gdi return value madness
2015-06-26 09:24:08 -04:00
Norbert Federa
ac95b7274e Merge pull request #2727 from akallabeth/leak_fixes_reformat
Fixed leaks, NULL dereferences and broken init.
2015-06-26 15:01:08 +02:00
Norbert Federa
bb9536b867 libfreerdp/gdi: fixed gdi return value madness
Mostly booleanization to comply with the MS API
2015-06-26 14:32:38 +02:00
Giovanni Panozzo
8a45b567fc Returing OK when there is nothing to draw after clipping, fixes #2732 2015-06-25 16:54:08 +02:00
Armin Novak
6698e24228 Fixed leaks, NULL dereferences and broken init. 2015-06-23 21:29:21 +02:00
David FORT
7c3f8f33ab Fixes for malloc / calloc + other fixes
This patch contains:

* checks for malloc return value + treat callers;
* modified malloc() + ZeroMemory() to calloc();
* misc fixes of micro errors seen during the code audit:
** some invalid checks in gcc.c, also there were some possible
integer overflow. This is interesting because at the end the data are parsed
and freed directly, so it's a vulnerability in some kind of dead code (at least
useless);
** fixed usage of GetComputerNameExA with just one call, when 2 were used
in misc places. According to MSDN GetComputerNameA() is supposed to return
an error when called with NULL;
** there were a bug in the command line parsing of shadow;
** in freerdp_dynamic_channel_collection_add() the size of array was multiplied
by 4 instead of 2 on resize
2015-06-22 19:21:47 +02:00
Martin Haimberger
dc68bdfce5 channel rdpgfx hardend 2015-06-18 03:04:32 -07:00
Marc-André Moreau
29d14773c8 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	client/Windows/wf_client.c
	libfreerdp/common/assistance.c
2015-05-20 10:12:24 -04:00
Clive Stevens
5528b152ec Fix two cases of leaked regions in gdi/gfx 2015-05-20 12:35:24 +01:00
Norbert Federa
35c11c721e gdi: fix nullification of instance->context->cache 2015-05-14 20:33:21 +02:00
Norbert Federa
71a4349928 fixed multiple missing gdi return value checks
mainly gdi_Create* functions
2015-05-08 21:39:23 +02:00
Marc-André Moreau
30dd40e10a wfreerdp: fix and improve remote assistance 2015-05-07 14:20:49 -04:00
Norbert Federa
ef1fd12b15 Fix unchecked CreateEvent calls and misc fixes
1)
Added missing checks for CreateEvent which also required the
following related changes:

- changed freerdp_context_new API to BOOL
- changed freerdp_peer_context_new API to BOOL
- changed pRdpClientNew callback to BOOL
- changed pContextNew callback to BOOL
- changed psPeerAccepted callback to BOOL
- changed psPeerContextNew callback to BOOL

2)
Fixed lots of missing alloc and error checks in the
changed code's neighbourhood.

3)
Check freerdp_client_codecs_prepare result to avoid segfaults
caused by using non-initialized codecs.

4)
Fixed deadlocks in x11 caused by missing xf_unlock_x11() calls
in some error handlers

5)
Some fixes in thread pool:
- DEFAULT_POOL assignment did not match TP_POOL definition
- don't free the pool pointer if it points to the static DEFAULT_POOL
- added error handling and cleanup in InitializeThreadpool
2015-04-29 18:18:39 +02:00
Bernhard Miklautz
ff11057d49 gdi: fix problem with gdi_SelectObject check(s)
When a hdc is created no initial or default objects are created
therefore can the first call of gdi_SelectObject return NULL.
Because of this checking the return value of  gdi_SelectObject failed
for newly create hdc causing errors (disconnects).

Since all types of HGDIOBJECT are handled and the return value of
gdi_SelectObject isn't used the recently added checks were removed
again.
2015-04-26 22:28:49 +02:00
Norbert Federa
84577b1ca7 codec/rfx: error checking and various fixes
- removed some unneeded null checks for free()
- fixed a memory leak in shadow_client
- removed rfx_compose_message_header from API

Changed the following functions to BOOL, check the result
where they are called and handle failures:
- rfx_compose_message
- rfx_compose_message_header
- rfx_write_tile
- rfx_write_message_tileset
- rfx_write_message_frame_begin
- rfx_write_message_region
- rfx_write_message_frame_end
- rfx_write_message

rfx_process_message:
- check memory allocation failures
- verify protocol-conform order of data messages to prevents memory
  leaks caused by repeated allocations
- verify that header messages were parsed/received before the
  data messages
- treat unknown rlgr mode as error
- fixed/added error handling
- fixed all callers to check/handle result

rfx_encode_message:
- fixed incorrect usage of realloc
- missing malloc check
- missing check of CreateThreadpoolWork
- correct cleanup on failure (threadpool, memory)
- check rfx_encode_message result

rfx_encode_messages:
- check rfx_split_message result
- correct cleanup on failure
- prevent memory leak on failure

rfx_write_message_context:
- fixed invalid channelId value (must be 0xFF for WBT_CONTEXT)

rfx_process_message_codec_versions:
- fixed invalid read size of codec_version (it is 16bit)

rfx_process_message_channels:
- verify protocol conform channelId value

rfx_process_message_region:
- replaced invalid reallocs with malloc
- read and verify regionType and numTileSets from stream

rfx_process_message_tileset:
- check allocation results
- fixed incorrect usages of realloc

setupWorkers:
- fixed incorrect usages of realloc

rfx_split_message:
- removed dead code
- missing malloc check

rfx_compose_message:
- fixed a memory leak
- check/handle rfx_encode_message result
2015-04-23 15:42:21 +02:00
Bernhard Miklautz
db81151ea4 gdi: fix broken return type checks
Integrates comments from pull request.
2015-04-21 14:18:07 +02:00
Bernhard Miklautz
2c072d33d3 Fix GDI return values and other fixes
* top level GDI functions return 0 on error and != 0 otherwise but the
  low level functions (16bpp.c, 8bpp.c 32bpp.c) which are called did it
	exactly the other way around. Those were adapted.
* change gdi_InvalidateRegion to BOOL and check calls where appropriate
* integrate comments from pull request
2015-04-21 14:18:07 +02:00
Bernhard Miklautz
515502ffa5 change return types of callbacks to BOOL
* change all client/server callbacks to BOOL
* update all clients accordingly
* add multiple return value checks
* small fixes
2015-04-21 14:18:07 +02:00
Bernhard Miklautz
90579ae16f gdi/gfx: remove unused variables 2015-03-25 17:38:21 +01:00
Bernhard Miklautz
f75ced240d gdi: remove unnecessary includes 2015-03-25 17:38:20 +01:00
Bernhard Miklautz
b9cc206a78 gdi: remove dead code 2015-03-25 17:38:20 +01:00
Marc-André Moreau
2094501d8b freerdp: fix failing tests 2015-03-16 09:26:38 -04:00
Marc-André Moreau
ad02c75af8 libfreerdp-gdi: disable broken BitBlt tests 2015-03-16 08:55:06 -04:00
Zhang Zhaolong
bd234419b8 gdi: fix incorrect usage of realloc.
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-11 13:55:41 +08:00
Armin Novak
7fc9f98d3c Updated h264_decompress arguments. 2015-01-22 13:24:15 +01:00
Norbert Federa
443ee42db5 gdi: don't pollute invalid region with empty rects 2014-12-05 19:47:29 +01:00
Armin Novak
07051fb3d1 Fixed memory leaks. 2014-11-16 23:00:13 +01:00
Marc-André Moreau
bfdd3bd606 libfreerdp-gdi: fix bitmap update scanline size 2014-11-07 17:19:46 -05:00
Hardening
7b108f1aa8 Merge pull request #2141 from zhangzl2013/polyline
fix polyline.
2014-10-31 22:15:13 +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
Zhang Zhaolong
3de5c62bf3 fix polyline. 2014-10-09 18:11:38 +08:00
Marc-André Moreau
9daa8bd36f libfreerdp-gdi: handle egfx desktop resize 2014-09-25 22:08:10 -04:00
Marc-André Moreau
8b1ad6a6cd libfreerdp-gdi: remove some dead code 2014-09-25 10:39:23 -04:00
Marc-André Moreau
bbf4732470 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	libfreerdp/gdi/gdi.c
2014-09-25 10:34:56 -04:00
Armin Novak
8d7de50f6f Decreased log level for not implemented GDI functions.
All functions only used within gdi.c are now static.
2014-09-25 08:56:55 +02:00
Marc-André Moreau
73c90e0505 libfreerdp-gdi: remove frame marker error output 2014-09-19 14:45:58 -04:00
Marc-André Moreau
24c8e0c4b5 libfreerdp-gdi: fix clipping of bitmap update 2014-09-17 19:55:39 -04:00
Marc-André Moreau
02c1bf14ce libfreerdp-gdi: fix gdi_init 2014-09-17 19:44:59 -04:00
Marc-André Moreau
25f1073aa5 freerdp: fix build problems 2014-09-17 19:19:37 -04: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
3b02eccc06 libfreerdp-gdi: fix 16bpp internal buffer format 2014-09-17 14:55:52 -04: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
1837c34e6e libfreerdp-codec: add BGR support to egfx 2014-09-16 16:55:47 -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
06b609062d Removed remaining printf and DEBUG_* usages. 2014-09-15 09:01:05 +02:00
Armin Novak
2f519d7f16 Replaced logging in libfreerdp with wlog defines. 2014-09-15 08:48:46 +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
a3cdcc1641 libfreerdp-gdi: fix and cleanup new bitmap update code 2014-09-11 20:46:15 -04:00
Marc-André Moreau
5b2a465ee6 libfreerdp-gdi: start optimizing gdi bitmap update 2014-09-11 20:12: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
Marc-André Moreau
c71e4e18a1 libfreerdp-core: refactor codec context management 2014-09-10 00:42:41 -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
320b1d35ed libwinpr-utils: centralize bitmap utils 2014-09-03 16:20:50 -04:00
Marc-André Moreau
82a53057a1 Merge pull request #2023 from ptsekov/software-gdi-improvements
Software GDI improvements
2014-08-18 16:22:23 -04:00
Pavel Tsekov
651887c7e0 Fix erronous use of colors in gdi_patblt().
* libfreerdp/gdi/gdi.c:
(gdi_patblt): Fix a call to freerdp_mono_image_convert() which was
still passed colors in drawing order representation instead of GDI
representation.
2014-08-14 20:21:49 +03: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
Pavel Tsekov
052173de5f Do not assume 32bpp framebuffer when flipping NSCodec bitmaps.
* libfreerdp/gdi/gdi.c (gdi_surface_bits): Do not assume 32bpp
framebuffer when flipping NSCodec compressed bitmaps.
2014-08-07 20:37:06 +03:00
Pavel Tsekov
adb750f7ca Convert NSCodec compressed bitmaps to framebuffer format.
* libfreerdp/gdi/gdi.c (gdi_surface_bits): Convert NSCodec compressed
bitmaps to framebuffer format.
2014-08-07 20:33:30 +03:00
Armin Novak
f4c133eaf8 Replaced custom logging mechanism with WLog wrapper. 2014-08-07 16:51:24 +02:00
Pavel Tsekov
c51c5df2ff * include/freerdp/codec/color.h:
(freerdp_color_convert_drawing_order_color_to_gdi_color): Declare new
function.
* libfreerdp/codec/color.c:
(freerdp_color_convert_drawing_order_color_to_gdi_color): Implement.
(freerdp_image_convert_8bpp): Properly use the ARGB32/ABGR32/RGB32/BGR32
macros when converting 8bpp data to 32bpp.
(freerdp_image_convert_32bpp): Fix CLRCONV_ALPHA and CLRCONV_INVERT
processing for 32bpp destination.
(freerdp_mono_image_convert): Use ARGB32/ABGR32 when converting to 32bpp
and CLRCONV_ALPHA is set.
* libfreerdp/core/orders.c: Color data from drawing orders is
interpreted in big endian mode.
* libfreerdp/core/update.c (update_read_palette): Likewise.
* libfreerdp/gdi/16bpp.c (gdi_get_color_16bpp): GDI colors are stored as
RGB now.
* libfreerdp/gdi/32bpp.c (gdi_get_color_32bpp): Likewise.
* libfreerdp/gdi/gdi.c:
Use freerdp_color_convert_drawing_order_color_to_gdi_color() to convert
from drawing order color representation to GDI color representation
troughout.
* libfreerdp/gdi/graphics.c (gdi_Glyph_BeginDraw): Likewise.
(gdi_Glyph_EndDraw): Likewise.
2014-08-07 00:58:58 +03:00
Benoît LeBlanc
1f2f9dfbdc fix gdi_resize: set primary_buffer to NULL to avoid use after free 2014-08-06 17:02:21 -04: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
c492017fa1 libfreerdp-codec: fix build bot warnings 2014-07-08 15:48:29 -04:00
Marc-André Moreau
ac7d23b9a3 libfreerdp-gdi: migrate to _aligned_malloc/_aligned_free 2014-07-08 15:07:19 -04:00
Bernhard Miklautz
b817e92e5e cmake: mark required libraries for export 2014-04-23 10:16:02 +02:00
Marc-André Moreau
83ddb7b82c libfreerdp-codec: fix unit test compilation 2014-03-29 12:37:16 -04:00
Marc-André Moreau
35a1aeac99 libfreerdp-gdi: minor cleanup, set text color on PatBlt 2014-02-13 11:59:05 -05:00
Marc-André Moreau
0a2af868ef libfreerdp-gdi: fix mem3blt SetTextColor 2014-02-11 18:02:26 -05:00
Marc-André Moreau
7fbdf13a61 libfreerdp-gdi: fix mem3blt color conversion 2014-02-11 17:32:08 -05:00
Marc-André Moreau
9bdfbcd556 wfreerdp: fix test build issues 2014-02-01 12:50:28 -05:00
Marc-André Moreau
97dd904a36 libfreerdp-gdi: fix invalidation of region with line drawing 2014-01-28 21:46:47 -05:00
Marc-André Moreau
5f96f50e0d libfreerdp-gdi: port old cunit gdi tests to ctest 2013-12-10 16:35:46 -05:00
Marc-André Moreau
3cdc490bf4 libfreerdp-cache: refactor glyph cache and add logging 2013-11-01 10:01:16 -04:00
Marc-André Moreau
55565e056c freerdp: export targets 2013-10-28 23:06:39 -04:00
Marc-André Moreau
518995a05e freerdp: merge with master 2013-09-16 17:10:27 -04:00
Marc-André Moreau
f790831e7d Merge branch 'master' of github.com:awakecoding/FreeRDP into xrdp-ng 2013-09-05 15:23:19 -04:00
Armin Novak
4331fa1f8b Fixed invalid API usage, ... 2013-09-05 12:14:34 +02:00
Armin Novak
b190a16c5d Fixed argument checks, now NULL pointer are no longer dereferenced
in functions.
2013-09-05 12:14:34 +02:00
Armin Novak
ac3fb4c676 Fixed coverity issue 1047649 2013-09-05 12:14:33 +02:00
Armin Novak
1d3e8c7cb3 Fixed coverity issue 1047650 2013-09-05 12:14:33 +02:00
Marc-André Moreau
7edfe66274 freerdp: various missing link dependencies and symbol exports 2013-09-03 21:48:26 -04:00
Marc-André Moreau
0fd705c6c7 channels/cliprdr: start server-side implementation 2013-08-16 16:46:47 -04:00
Marc-André Moreau
1e5118116d libfreerdp-codec: start implementing split NSCodec encoder 2013-08-14 23:16:13 -04:00
Marc-André Moreau
fe25303656 libfreerdp-codec: internal refactoring 2013-08-13 17:18:59 -04:00
Norbert Federa
e0e337e278 libfreerdp-gdi: added gdi_surface_frame_marker
Frame markes are not really implemented. Just SendFrameAcknowledge on
SURFACECMD_FRAMEACTION_END if settings->FrameAcknowledge > 0

This fixes issue #1352
2013-07-15 15:00:18 +02:00
Marc-André Moreau
6d9e131d68 Merge pull request #1298 from floppym/testfixes
libfreerdp-gdi/test: Fix segfault in gdi_convert_postfix_to_infix.
2013-06-28 09:33:49 -07:00
byteboon
3065523405 fixed incorrect size calculation 2013-06-20 11:29:18 -07:00
Mike Gilbert
89f69aa9ba libfreerdp-gdi/test: Fix segfault in gdi_convert_postfix_to_infix. 2013-06-17 20:46:23 -04:00
Benoit LeBlanc
3f12dc351b wfreerdp: fixed upscaling 2013-04-30 12:56:16 -04:00
Martin Fleisz
75adb75dee libfreerdp-gdi: Added missing include 2013-04-05 12:54:24 +02:00
Martin Fleisz
d32598caf5 libfreerdp-gdi: Add NSC support for Bitmap Cache V3 2013-04-05 12:14:23 +02:00
Hardening
7701c9d934 Replace printf(...) by fprintf(stderr, ...) 2013-03-28 23:06:34 +01:00
Bernhard Miklautz
103171a98e Fixed compiler warnings (-Wall) 2013-03-15 20:41:10 +01:00
Bernhard Miklautz
e8eb0d0b44 Fixed formating build warnings (-Wformat) 2013-03-15 20:03:48 +01:00
Marc-André Moreau
fc02276b11 libfreerdp-gdi: implemented mem3blt pattern brush support 2013-02-04 11:40:40 -05:00
Marc-André Moreau
72a7b83a7b Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-02-04 11:05:50 -05:00
Christian Landvogt
401787eeb8 libfreerdp-gdi: added brush style BS_HATCHED
according to [MS-RDPEGDI] 2.2.2.2.1.1.2.3 PatBlt (PATBLT_ORDER)
	16bit and 8bit colour depth are drawn with wrong background colour
2013-02-04 15:58:22 +01:00
Marc-André Moreau
e18a0b807f libfreerdp-core: fix async updates with palettes 2013-02-03 16:19:25 -05:00
Marc-André Moreau
4d804018e0 libfreerdp-gdi: fix opaque rect for /gdi:hw mode with 8bpp 2013-02-03 15:22:16 -05:00
Marc-André Moreau
d9ac2cca39 libfreerdp-gdi: fix 8bpp FillRect color 2013-02-03 15:16:37 -05:00
Marc-André Moreau
e1d0fad519 libfreerdp-core: fix memory leaks 2013-01-25 17:52:37 -05:00
rdp.effort
4d90284657 Renamed CODEC_ID_NONE to RDP_CODEC_ID_NONE as it is already defined in
avcodecs.h
Fixed a warning in schannel_openssl.c
Added checks for: input, mcs, tpdu, certificate, license
2013-01-12 14:49:01 +01:00
Marc-André Moreau
84f358d3ce Merge pull request #812 from bmiklautz/versioning
build: fixed library versioning
2012-11-25 12:29:29 -08:00
Marc-André Moreau
8a32de3801 libfreerdp: purged source tree from deprecated memory utils 2012-11-21 21:22:06 -05:00
Marc-André Moreau
2a16183f5d libfreerdp-utils: remove deprecated calls to xnew() macro 2012-11-21 20:21:08 -05:00
Marc-André Moreau
b2c3ca8cc4 libfreerdp-utils: replace all calls to deprecated function xzalloc 2012-11-21 19:22:41 -05:00
Bernhard Miklautz
9a33dbe826 build: fixed library versioning
Split version numbers into:
FREERDP_API_VERSION - the version of the API which is major.minor
FREERDP_VERSION - version of a release consisting of major.minor.revision (e.g. 1.1.0)
FREERDP_VERSION_FULL - like FREERDP_VERSION but with an optional "build" suffix (e.g 1.1.0-dev)
2012-11-18 17:07:33 +01:00
Marc-André Moreau
ebc09d17d8 libfreerdp-core: started refactoring rdpSettings 2012-11-07 10:33:06 -05:00
Marc-André Moreau
639bb0d79d cmake: started simplifying monolithic build option 2012-10-13 15:20:39 -04:00
Marc-André Moreau
9d064171a7 freerdp: get rid of old types 2012-10-09 03:26:39 -04:00
Marc-André Moreau
1bf8a45519 freerdp: change uint8, sint8, uint16, sint16 to BYTE, INT8, UINT16, INT16 2012-10-09 03:01:37 -04:00
Marc-André Moreau
1ed644786c freerdp: change boolean type to BOOL type 2012-10-09 02:38:39 -04:00
Marc-André Moreau
5612bc43f8 freerdp: change true/false to TRUE/FALSE 2012-10-09 02:31:28 -04:00
Marc-André Moreau
9909a12af5 libfreerdp-utils: get rid of xmalloc, xrealloc and xfree 2012-10-08 23:21:26 -04:00
Marc-André Moreau
e60a092d81 freerdp: fix headers 2012-10-08 23:02:04 -04:00
Marc-André Moreau
40eea7c76b cmake: rename WITH_MONOLITHIC_BUILD to MONOLITHIC_BUILD 2012-10-08 22:55:06 -04:00
Marc-André Moreau
e828feccb7 cmake: organize solution folders 2012-10-04 09:42:23 -04:00
Marc-André Moreau
fcc9f91302 cmake: add support for solution groups 2012-09-30 22:58:59 -04:00
Jay Sorg
41652a729c gdi sw fix crash when line draw goes < 0 or > width / height 2012-09-06 12:08:59 -07:00
Marc-André Moreau
910f9ffed6 libfreerdp: wrap inclusion of config.h with HAVE_CONFIG_H 2012-08-14 17:41:40 -04:00
Marc-André Moreau
d5d1eb7762 libfreerdp: add proper config.h inclusions 2012-08-14 17:09:01 -04:00
Marc-André Moreau
c56f7064f2 libfreerdp: fix linking libraries for monolithic build 2012-08-14 00:31:06 -04:00
Marc-André Moreau
19028a27b0 libfreerdp: move all libraries to libfreerdp directory, one step closer to monolithic build option 2012-08-13 23:19:51 -04:00