akallabeth
7fe1164d26
Merge pull request #10490 from akallabeth/desktop-resize-deadlock
...
Desktop resize deadlock
2024-08-20 13:28:04 +02:00
akallabeth
d5d3d8501e
[client,x11] improve VerifyCertificate message
...
* Use FreeRDP_CertificateCallbackPreferPEM for callbacks
2024-08-20 12:42:57 +02:00
akallabeth
dcbeedb4d4
[client,x11] fix a possible deadlock on desktop resize
2024-08-20 12:41:17 +02:00
Armin Novak
14c85bafd3
[client,x11] fix RAW clipboard copy
2024-08-12 15:55:26 +02:00
akallabeth
7dc51e1b71
[client,x11] log variable name for XGetAtomName
...
To better debug issues with calls log the name of the target variable to
allow better tracing which call did fail
2024-08-02 15:12:58 +02:00
akallabeth
2f5570cd67
Merge pull request #10423 from akallabeth/action_script
...
[client,X11] fix ActionScript
2024-07-25 10:00:26 +02:00
Armin Novak
44b07721ec
[client,X11] fix ActionScript
...
* Unify script calls
* Update documentation
* Fix home directory
2024-07-25 09:42:03 +02:00
akallabeth
56b50966a3
[client,x11] log all XInternAtom calls
2024-07-25 07:47:40 +02:00
Ilya Matthew Kuvarzin
761c3a807b
Fix: Prevent RemoteAPP window minimization on desktop switch in Gnome
...
- Modified xf_event_PropertyNotify in xf_event.c to check for Gnome session before minimizing the window
- Added the session check logic in a new function IsGnome placed in xf_utils
- This resolves the issue where RemoteAPP windows were unintentionally minimized when switching desktops in Gnome
- Ensured minimal impact on other window managers
2024-07-23 14:56:10 +02:00
Armin Novak
51204c1433
[client,X11] fix X11 event mask
...
When reading incremental data for clipboard restore previous event mask
when finished. Fixes #10377
2024-07-17 14:19:58 +02:00
Armin Novak
2ac05d4d4a
[client,X11] X11 locking log with WITH_DEBUG_X11
2024-07-17 11:32:21 +02:00
Armin Novak
71760d6d9a
[client,X11] log XConvertSelection calls
2024-07-17 11:05:57 +02:00
Armin Novak
3f0f1a3bbb
[client,X11] fix duplicate file clipboard clear
2024-07-17 10:41:14 +02:00
Armin Novak
5ebbd39187
[client,X11] prevend duplicate formatID in formatList
...
When announcing client clipboard formats skip any format already in the
list.
2024-07-17 10:31:14 +02:00
Armin Novak
d9d81d347c
[client,X11] fix clipboard locking
2024-07-17 09:49:54 +02:00
Ondrej Holy
17c95924d7
[client,x11] fix typo in help
...
There is a typo in the xfreerdp client help. It says "localtion" instead
of "location". Let's fix it.
2024-07-10 07:16:43 +02:00
Armin Novak
d3efbe004d
[client,x11,sdl] fix manpage generation
...
* fix name of xfreerdp manpages
* fix name of sdl-freerdp manpages
2024-07-04 12:11:26 +02:00
akallabeth
357a92ce55
[client,X11] log atom numbers passed to XGetAtomName
2024-06-28 09:21:17 +02:00
akallabeth
ee789dee0b
[client,x11] fix floatbar hide
2024-06-03 10:52:38 +02:00
Armin Novak
41841997cc
[client,cliprdr] send format list msgFlags = 0
...
only a response message might have msgFlags != 0 set
2024-05-22 16:31:34 +02:00
akallabeth
35859c81a1
[client,sdl] allow side by side and replacement
...
Allow SDL2 and SDL3 client to be installed side by side as well as an
option to only install one and name it accordingly
2024-05-16 18:27:44 +02:00
Armin Novak
d8cabe84ce
[client,X11] check PubSub for NULL
2024-05-08 10:08:08 +02:00
toreonify
9118551334
Renamed Atom identifiers, reserved names were used
2024-05-04 11:32:39 +02:00
toreonify
6ea047558e
Custom context/popup menus stay on screen
...
Fix maximized/restored window state
Add support for window allowed actions
2024-05-04 11:32:39 +02:00
akallabeth
0a0df77c39
[build,ipp] drop support for IPP
...
Intel Performance Primitives do not have a test setup in FreeRDP and
most likely no longer compile.
2024-04-16 12:44:38 +02:00
Armin Novak
405a24c200
[coverity] 1543179 Array compared against 0
2024-04-15 11:30:31 +02:00
akallabeth
2477b37128
[warnings,types] fix BOOL assingments
2024-04-12 09:45:09 +02:00
akallabeth
80c562d040
[coverity] 1543235 Out-of-bounds access
2024-04-11 12:04:07 +02:00
akallabeth
61e0d122b7
[coverity] 1543235 Out-of-bounds access
2024-04-11 12:04:07 +02:00
akallabeth
4b1bdc622a
[x11,client] always use current clipboard owner
2024-04-07 08:59:51 +02:00
akallabeth
735cb1ec14
[cmake] fix mingw linking
2024-04-03 09:42:44 +02:00
Mathias Lithen
532a3cd1a9
Set res_class on classHints
2024-04-01 09:30:30 +02:00
sasha0552
d864393a8a
[client,X11] fix detection of need to use relative movements
...
Register XI raw masks when MouseUseRelativeMove enabled
Fix duplication of sent events (in previous implementation relative and absolute events were sent at the same time)
Slightly refactor code
2024-03-26 09:20:50 +01:00
akallabeth
678ff144ab
[cmake] unify windows resource file generation
...
* use a macro to add resource files for executables and shared libraries
* use that macro to declare targets
* use that macro to set library/binary versioning
* use that macro to set target output name
* use a macro to create manpages and names
2024-03-20 11:17:18 +01:00
Armin Novak
56a3955af4
[client,x11] send TS_RAIL_ORDER_ACTIVATE
...
when a rail window has gained focus or lost it send
TS_RAIL_ORDER_ACTIVATE to inform the server about the change.
2024-03-14 10:11:47 +01:00
akallabeth
6b5f262660
[client,x11] document keyboard shortcuts
2024-03-12 10:13:25 +01:00
akallabeth
c87368310a
[client,x11] fix right control ungrab
...
ungrab keybaord/mouse on first right control press. Fixes #9959
2024-03-12 10:13:25 +01:00
akallabeth
e53dc3dabb
[client,x11] fix X11 access during +auth-only
...
fixes #9946
2024-03-08 11:13:05 +01:00
akallabeth
9a7d30d174
[clang,tidy] fix a few warnings
2024-02-27 14:15:43 +01:00
akallabeth
acedd305d3
fixed unused-but-set-variable warnings
2024-02-22 12:31:50 +01:00
akallabeth
05e555feb7
fixed unused-variable warnings
2024-02-22 12:31:50 +01:00
akallabeth
d7ebec5a65
[tidy] move loop variable declaration to loop
2024-02-22 12:31:50 +01:00
Armin Novak
ab3f44921c
[client,x11] add alternate bitmap mime types
...
announce alternate mime types to clipboard
2024-02-22 09:33:59 +01:00
akallabeth
b894199f72
[winpr,collections] add generic string clone functions
...
The ArrayList, HashTable, ... New functions require
void* (*fkt)(const void* ptr) type functions. Provide a generic wrapper
for CHAR and WCHAR strdup to eliminate warnings. Also export a
corresponding free function to avoid issues with runtime
differences.
2024-02-15 11:49:16 +01:00
akallabeth
0e44b2c674
[clang-tidy] clang-analyzer-unix.Malloc
2024-02-15 11:49:16 +01:00
akallabeth
f69e1fe697
[clang-tidy] readability-duplicate-include
2024-02-15 11:49:16 +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
2fffcd64b9
[winpr] use winpr_strerror instead of strerror
...
use the wrapper from WinPR to use the best implementation available.
2024-02-06 15:45:47 +01:00
akallabeth
ba8cf8cf21
[build] fix Wmismatched-deallocator warnings
...
With custom malloc function attributes the fail path in the _New
functions produces warnings due to allocator mismatches. Silence them.
2024-02-05 08:16:55 +01:00
akallabeth
bb42d425ed
[gcc,clang] add support for attribute(malloc)
...
Mark all malloc like functions and add their appropriate free function
to let the compiler complain on mismatches
2024-02-02 15:10:40 +01:00
Armin Novak
a7decba8c2
[cmake] unify common options
2023-12-22 16:21:30 +01:00
Armin Novak
175a3ca09a
[cmake] do not append EXECUTABLE_SUFFIX to OUTPUT_NAME
2023-12-22 15:37:56 +01:00
Armin Novak
7d641a67b9
[doc,manpage] name manpages versioned
...
if WITH_BINARY_VERSIONING is activated also version the manpages to
match the binary names
2023-12-22 10:24:09 +01:00
Armin Novak
b04271ae2d
[cmake] add executable versioning
...
optionally append API version to generated binaries
2023-12-21 18:56:51 +01:00
Armin Novak
7f25a7cebf
[cmake] provide default project version
...
each subproject inherits the project version of the top level project
2023-12-21 18:56:51 +01:00
Armin Novak
000f32d48a
[client,x11] rename project to binary
2023-12-20 09:21:31 +01:00
Armin Novak
c064d54cb1
[client,sdl] add manpage
2023-12-20 09:21:31 +01:00
Armin Novak
8613613913
[client,common] fix relative mouse event detect
...
Only send relative mouse events, if the client explicitely enabled them,
the calling function is reporting the events as relative and the server
announced support for it.
2023-12-19 21:26:46 +01:00
David Fort
8d461f40ab
[build] fix some warnings
2023-12-19 16:34:41 +01:00
Armin Novak
35697c0292
[client,x11] fix segfault due to wrong print function
2023-12-14 14:05:39 +01:00
Armin Novak
3043fca91d
[warnings] fixed -Wdiscarded-qualifiers
2023-12-13 13:24:22 +01:00
Armin Novak
2b1aae0238
[client,x11] fix maximum number of input events
2023-12-07 10:53:34 +01:00
Armin Novak
6f6c0248f0
[client,common] check for relative mouse events
...
Added freerdp_client_use_relative_mouse_events to tell the client if the
coordinates should be relative or absolute
2023-12-06 10:45:01 +01:00
akallabeth
f02375e4ec
[client,x11] remove hardware bitmap
2023-12-01 10:18:33 +01:00
akallabeth
99a0a28d77
[client,X11] drop direct glyph mapping
2023-12-01 10:18:33 +01:00
akallabeth
3361116834
[client,x11] drop direct gdi mapping
...
windows GDI is legacy and can not be properly mapped to X11 equivalents
witout glitches. Drop support for that while preserving XImage/Pixmap
acceleration support.
2023-12-01 10:18:33 +01:00
akallabeth
615fcc4370
[cmake] prevent in source builds
2023-11-28 12:14:55 +01:00
akallabeth
1b31852d32
[git] remove .gitignore
...
we do no longer allow in source builds, so remove all the .gitignore
files just hiding generated files
2023-11-28 12:14:55 +01:00
akallabeth
a9c57b6319
[client,x11] fix settings access warning
2023-11-27 09:35:58 +01:00
akallabeth
ed3a1113f5
[client,x11] fix monitor detection
2023-11-27 09:35:58 +01:00
Armin Novak
1e88b2fa37
[client,x11] query correct display
2023-11-27 09:35:58 +01:00
akallabeth
4e438d1c3e
[client] make settings opaque
2023-11-24 14:54:56 +01:00
akallabeth
229916d02e
[settings] replace XSelectionAtom
...
the common command line parser should not touch unstable API settings,
so use newly introduced FreeRDP_ClipboardUseSelection
2023-10-19 14:22:19 +02:00
Armin Novak
60390ea40c
[pragma] unify compiler diagnostics
2023-10-16 15:10:13 +02:00
akallabeth
5a7a1c159d
[casts] remove fnObject* function pointer casts
...
use proper types that match the function pointer definition to avoid
surprises if the code should be refactored
2023-09-20 21:11:30 +02:00
akallabeth
7fb2f062f0
[client,x11] fix #9410 leak in xf_cliprdr
2023-09-20 21:11:30 +02:00
ichaoX
4935b0978b
[client,X11] avoid dynamic allocation of devName
2023-09-13 15:57:59 +02:00
ichaoX
a28920f3ed
[client,X11] add pen button support
2023-09-13 15:57:59 +02:00
ichaoX
becaac792f
[client,x11] improved pen type recognition
...
* improved pen type recognition.
* fix not recognizing other newly connected pen devices when a pen device is already connected.
2023-09-13 15:57:59 +02:00
Armin Novak
3ea38175b4
[locale,keyboard] fix keyboard mapping on apple
2023-08-31 11:39:22 +02:00
akallabeth
9cee9b3c08
[c standard] use WINPR_FALLTHROUGH
...
use the macro to silence intentional switch fallthrough locations
2023-08-25 12:56:36 +02: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
James Fu
5b012fbc8a
rail: fix window freeze when moving window after minimizing and restoring
...
When restoring from minimized state, sometimes MapNotify is received before PropertyNotify,
and the rail_state is still WINDOW_SHOW_MINIMIZED.
2023-08-21 14:44:58 +02:00
akallabeth
8470b6ea26
[cmake] set default build type
...
set with CACHE STRING FORCE to properly be picked up by configuration
tools
2023-08-04 12:59:11 +02:00
Kai Pastor
5ecc011c13
Export interface include directories
2023-08-01 11:12:46 +02:00
Armin Novak
ef5c0e78ab
[build] use define WINPR_FALLTHROUGH
...
with c17 compatible compilers annotate with [[fallthrough]]
2023-07-31 23:46:53 +02:00
Armin Novak
e61880d077
[standard] replace __FUNCTION__ with __func__
2023-07-27 20:02:43 +02:00
akallabeth
734117351d
[aad,avc] unify callbacks to GetAccessToken
...
The AAD and AVD authentication mechanisms both need an OAuth2 token.
They only differ in the provided arguments, so unify the callbacks into
a single one with variable argument lists.
2023-07-20 14:20:28 +02:00
fifthdegree
d309fcd6e8
Restructure Azure AD related stuff
...
- Move responsibility for obtaining access tokens to clients
- Add function for getting access tokens for AVD
- Get correct server hostname during AVD setup
- Add utility function for doing http requests
2023-07-20 14:20:28 +02:00
Pascal Nowack
d7d3055b5f
X11/cliprdr: Rework server to client clipboard handling
...
The purpose of clipboard data locking is to make the other peer
retaining the current file list until a pending paste operation is done,
even though the clipboard selection changed.
As it may be difficult to determine, when a lock is needed, imitate the
same behaviour as mstsc:
When the server side supports clipboard data locking, always attempt to
lock the file list on the server regardless of what is advertised in a
FormatList PDU.
The Lock Clipboard Data PDU can even be already sent, before the
Format List Response PDU is sent.
This is also what mstsc, does: First, lock the new (potential) file
list, then unlock the file list, when the pending paste operation is
done.
So, rework the current clipboard implementation in that direction.
Since the implementation for timeouts for old file lists is a bit hard,
for now always force unlock pending locks, when the selection changes.
However, timeouts for old file lists can still be added in the future.
The reworked clipboard handling is done with the help of three hash
tables:
1. The inode table: This hash table manages all inodes for each file.
The keys in this table are the inodes themselves, while the values
the files and directories and their attributes (file size, last write
time, etc.).
2. The clipdata table: This table manages the locks for each file list.
The keys in this table represent the clip data id and the values the
clip data entries, which have a reference to the clip data dir, a
directory containing the whole selection, and some helper attributes,
like the clip data id itself.
3. The request table: Every file size or file range request is managed
here. When a FileContentsRequest is made, its stream id with the
respective details are added to this table. When a response is
received, these details can then be easily looked up here.
2023-07-20 11:36:11 +02:00
Armin Novak
7dbf7cec68
[client,x11] fix RAILS image paste, fixes #7276
2023-07-10 10:26:55 +02:00
Armin Novak
fe987091f4
[client,x11] add signal cleanup handler for pipe
2023-07-03 13:21:43 +02:00
akallabeth
3dbd9c7eeb
[client,x11] fix unicode input
...
key up and down events were reverted
2023-07-03 13:21:43 +02:00
akallabeth
2d85aa43fa
[client,x11] add thread reading from named pipe
...
the named pipe input is converted to unicode and sent as keyboard input
2023-07-03 13:21:43 +02:00
Armin Novak
8822ad53c1
[client,x11] fix memory leak
2023-07-03 10:19:34 +02:00
akallabeth
9565ff4b29
[client,x11] restrict pointer move to active window
2023-07-03 10:00:29 +02:00
akallabeth
32b60ae438
[pointer] unify mouse pointer settings
2023-07-03 10:00:29 +02:00
Armin Novak
93423eaf11
[client,common] move pen detection to client common
2023-06-26 11:22:32 +02:00
Hodol Han
c278170a2a
[client,x11] Reinit xinput input event masks on device changes
...
Reinitialize xinput input event masks to get events from newly plugged
devices after setup. We utilize XI_DeviceChanged and XI_HierarchyChanged
event types to handle device changes.
2023-06-23 08:36:09 +02:00