Armin Novak
4ff57b68c2
[client,x11] refactor locking
...
X11 and railWindows lock must be held at the same time to avoid
deadlocking.
2026-03-01 09:23:42 +01:00
Armin Novak
465a6353d5
[c23,client] replace NULL with nullptr
2026-02-26 15:42:59 +01:00
Armin Novak
48267edf2f
[winpr] add WINPR_C_ARRAY_INIT
...
since C23 allows c++ style initializing replace direct use with this
macro
2026-02-25 19:23:08 +01:00
Armin Novak
c4a0565342
[client,x11] fix xf_DeleteSurface error branch
2026-02-17 11:10:16 +01:00
Armin Novak
df64d00a97
[warnings,api] fix -Wunused-result
...
With marking publid API [[nodiscard]] some problematic error checks in
the core library were uncovered. This commit addresses these
shortcomings.
2026-02-17 11:07:08 +01:00
Armin Novak
f4b0549c5b
[client,warnings] properly handle function return
2026-02-16 09:18:38 +01:00
Armin Novak
169d358734
[client,x11] destroy XImage on window unmap
...
When unmapping rails window destroy the cached XImage of appWindow
2026-02-10 11:26:08 +01:00
akallabeth
ff5aca1b0b
[client,x11] add more logging X11 calls
2025-05-23 12:15:09 +02:00
akallabeth
479cea48cc
[client,x11] fix missing includes
2025-05-22 16:25:10 +02:00
akallabeth
4ea50fd0c5
[client,x11] log XPutImage and XCopyRect
2025-05-22 16:08:32 +02:00
akallabeth
40cdb18431
[client,x11] fix missing assertions
2024-12-31 09:59:52 +01:00
akallabeth
6701359cc1
[warnings] fix integer casting
...
* use WINPR_ASSERTING_INT_CAST where possible
* clean up client code
2024-12-19 12:45:23 +01:00
stephanebill
4f2afa8c47
spell check with codespell
2024-11-20 16:53:40 -05:00
Armin Novak
fe4cb6de65
[warnings] fix float/double warnings
2024-09-02 16:20:20 +02:00
akallabeth
d7ebec5a65
[tidy] move loop variable declaration to loop
2024-02-22 12:31:50 +01:00
akallabeth
0ba995655d
[clang-tidy] cppcoreguidelines-init-variables
2024-02-15 11:49:16 +01:00
akallabeth
207def5c56
[clang-tidy] readability-isolate-declaration
2024-02-15 11:49:16 +01:00
akallabeth
4e438d1c3e
[client] make settings opaque
2023-11-24 14:54:56 +01:00
akallabeth
7a71441476
[warnings] fix integer multiplications
...
Ensure the integer width for size arguments is 64bit in a
multiplication. Leading 64bit constant 1ull expands width, a trailing
one is ignored.
2023-08-22 11:55:00 +02:00
Armin Novak
641022b795
[logging] remove __FUNCTION__ from actual message
...
prefer the log formatter to provide that information.
2023-01-25 16:26:39 +01:00
Armin Novak
1bc110518d
[x11,rail] cleaned up rail drawing code
...
The remote application drawing code was simplified
2022-12-09 12:30:14 +01:00
Armin Novak
4008033065
[x11,client] assert use of xfc->depth
...
Do not use color depth settings before they are initialized
2022-12-09 12:30:14 +01:00
Armin Novak
697e020abd
[rail] Added window update from surface
2022-11-11 06:42:45 +01:00
Armin Novak
325c03501e
[gfx] Added new UpdateWindowFromSurface callback
...
* Adds a new callback and settings in gdiGfxSurface to allow updating
a window directly from surface bitmap data
* Adds new BOOL in gdiGfxSurface windowMapped and
handleInUpdateSurfaceArea to control where surface data update is
being handled
2022-11-11 06:42:45 +01:00
Armin Novak
66e73f8b08
Fixed missing static for functions, fixed declaration of FreeRDPAreColorFormatsEqualNoAlpha
2022-06-21 10:28:34 +02:00
David Fort
77413f49b2
winpr: rework alignment functions
...
_align_XXX functions aren't widely available depending on the C runtime. That causes
problems with mingw where we can easily have some runtime mixes (which lead to mysterious
segfaults most of the time). This patch introduce winpr_aligned_XXX functions that will
either use the function available, or use an emulation layer.
2022-05-12 11:36:01 +02:00
akallabeth
fb90ac280a
Refactored color.h
...
* Remove implementations from header
* Rename functions to be FreeRDP specific
* Add deprecation define for old names
* Fixed missing includes
2022-04-28 08:40:47 +02:00
Armin Novak
4d03d7c0bf
Freerdp remove #ifdef HAVE_CONFIG_H
2022-03-03 11:26:48 +01:00
Armin Novak
b2ad47a809
Reorganized FreeRDP headers
2022-03-03 11:26:48 +01:00
akallabeth
7641710f60
Use a client/common context component
...
* Allows moving common client code from specific client to a
generic client/common implementation
2022-02-22 09:44:13 +01:00
akallabeth
8d82adb28a
Fixed warnings
2021-06-17 10:35:22 +02:00
akallabeth
43311130a2
Fixed CodeQL warnings
2021-02-19 11:19:49 +01:00
Armin Novak
65647d5763
Use separate codec contexts for legacy and GFX
2021-02-10 10:38:24 +01:00
akallabeth
701770c69a
Made xf_OutputExpose non blocking.
...
In case xf_OutputExpose is called with GFX or async-update a race
condition occured in combination with dynamic-resolution.
To prevent the deadlock update the screen on a best effort basis.
2020-04-18 10:18:31 +02:00
Armin Novak
4530a9a631
Modified xf_lock_x11 and xf_unlock_x11, allow recusive
...
The X11 locking routines did not handle multiple locks from the same
thread well. This pr fixes that.
2020-03-04 15:50:47 +01:00
Norbert Federa
ceb015a6bb
egfx: the gfx reset grahics pdu is optional
...
Since the EGFX Reset Graphics PDU seems to be optional,
the graphicsReset variable (which is updated in that PDU's handler)
should be removed from the rdp_gdi struct with the next change
in public headers (as in freerdp v3).
There are still some clients that expect and check it and therefore
we keep it for now, initialized with TRUE.
sdas
2020-02-26 13:57:12 +01:00
Armin Novak
72ca88f49c
Reformatted to new style
2019-11-07 10:53:54 +01:00
asapelkin
82eadad4a4
Fix some static analizer warnings
2019-10-22 15:39:54 +02:00
Armin Novak
d7ca2db62e
Fixed doulbe semicolon in C files.
2019-05-08 12:58:01 +02:00
Armin Novak
3d1cec894c
Fixed alignment requirements for surface sizes.
2019-05-08 10:36:00 +02:00
Armin Novak
3b7e46fb0e
Updated GFX to 10.6 spec
2019-05-07 12:10:13 +02:00
Armin Novak
0c13c3199e
Follow up to #4959 : Lock gdi_UpdateSurfaces like xf_UpdateSurfaces
2018-12-04 16:56:22 +01:00
Armin Novak
2e019b2fd1
Implemented GFX locking and enforce return value checks.
...
To fix #4825 GFX functions must now aquire a lock before accessing surfaces.
This prevents simultaneous update of internal data by client and gfx threads.
Also enforce return value checks, where not already done.
2018-11-29 11:55:27 +01:00
Bernhard Miklautz
c0afb8bd6b
Merge pull request #4322 from akallabeth/rail_fixes
...
Rail fixes for GFX mode
2018-04-11 10:49:44 +02:00
Armin Novak
62607e3b02
Fixed accidental free of XImage data.
2018-02-12 12:44:51 +01:00
Armin Novak
7c0a33632b
Fixed #4412 : XImage must be freed with XDestroyImage
2018-02-12 10:02:35 +01:00
Armin Novak
ed9d86b1a3
Fixed GFX output expose.
2018-02-08 13:55:36 +01:00
Armin Novak
c0ec81c3c7
Do not update client if output suppressed.
2018-02-08 11:59:00 +01:00
Armin Novak
253beda330
Fixed formatting.
2018-02-08 11:55:57 +01:00
Armin Novak
ac1d6e8153
Fixed #3676 , #4269 : Screen update for RAIL with GFX
2018-01-08 13:21:02 +01:00