Commit Graph

180 Commits

Author SHA1 Message Date
akallabeth
1f22a4f954 [client,sdl] ignore blit that does not intersect
SdlWindow::blit might be called for areas that do not intersect the
surface. Return success in such cases to avoid terminating a session.
2024-03-11 12:32:35 +01:00
akallabeth
43a70ccb90 [client,sdl] use std::filesystem u8string() 2024-02-27 14:10:14 +01:00
akallabeth
f84108010b [client,sdl] use uint32_t instead of SDL_Keymod
the SDL_Keymod enum is not suitable to hold a mask of SDL_Keymod values
2024-02-23 10:02:08 +01:00
akallabeth
517cd69107 [client,sdl] remove not existing docbooc xml 2024-02-23 10:02:08 +01:00
akallabeth
a2b220f828 [client,sdl] fix smartcard pin dialog result 2024-02-22 13:13:49 +01:00
akallabeth
5d3ffea061 [client,sdl] unify window related operations
Access window related operations only in SdlWindow class
2024-02-22 13:13:49 +01:00
akallabeth
867e663872 [client,sdl] add windowevent-id to string 2024-02-22 13:13:49 +01:00
akallabeth
8492738b0d [client,sdl] tidy up code 2024-02-22 13:13:49 +01:00
akallabeth
d7ebec5a65 [tidy] move loop variable declaration to loop 2024-02-22 12:31:50 +01:00
Armin Novak
62f974a5c2 [client,sdl] add shortcut config file
Allow keyboard shortcuts to be configured via config file.
2024-02-22 12:24:51 +01:00
MatteoBax
29b38506b9 Fix undeclared identifier ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED 2024-02-21 08:48:55 +01:00
akallabeth
75b1ce8ef6 [client,sdl] relax CriticalSection locking
When disconnecting the SDL client it is sufficient to no longer process
SDL events. Locking the CriticalSection during disconnect might lead to
a deadlock.
2024-02-20 16:31:50 +01:00
akallabeth
f3c0d22005 [client,sdl] thread safe RDP disconnect
When the RDP session is terminated ensure that no more SDL events are
processed as they might try to access RDP context data.
2024-02-20 09:25:33 +01:00
akallabeth
fd49e00f9c [warning] use nullptr for C++ code 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
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
e2e6d09256 [cmake] use DEFAULT_DEBUG_OPTION for all 2024-02-13 17:06:00 +01:00
akallabeth
b193f9ab59 [cmake] guard cmake_policy(CMP0091)
only set the policy to NEW if it is defined
2024-02-13 16:22:37 +01:00
Armin Novak
cc558bd4c5 [client,sdl] add missing include 2024-02-10 06:57:34 +01:00
akallabeth
8b04ab53eb [cmake] disable WITH_WEBVIEW if not build on linux/bsd 2024-01-29 10:01:23 +01:00
akallabeth
465745131e [client,sdl] fix verbose logging
only call SDL_DestroyTexture if texture != NULL
2024-01-22 13:09:25 +01:00
Armin Novak
a45e464d6f [client,SDL] check for timer initialized
before manipulating SDL timers check if the SDL subsystem was actually
initialized. Fixes #9736
2024-01-10 19:53:05 +01:00
akallabeth
2b39afcc7a [client,SDL] optimize map lookup 2024-01-05 09:18:07 +01:00
Armin Novak
a7decba8c2 [cmake] unify common options 2023-12-22 16:21:30 +01:00
Armin Novak
7debd0f621 [cmake] set policy 0091
On windows we need to set the runtime linker settings extra
https://cmake.org/cmake/help/latest/policy/CMP0091.html
2023-12-22 15:37:56 +01:00
Armin Novak
19d3c27e3d [cmake] link SDL only static if explicitly requested 2023-12-22 15:37:56 +01:00
Armin Novak
11d84f067d [client,sdl] fix full static linking 2023-12-22 15:37:56 +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
2b654a8226 [client,sdl] use versioned resource location
if WITH_BINARY_VERSIONING is ON also use versioned resource locations.
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
3e53b3ecce [client,sdl] work around c++ static initialization
wrap the factory map in a function to ensure it is initialized first.
2023-12-21 16:34:04 +01:00
Armin Novak
8fa938f629 [client,sdl] make dialog image support optional 2023-12-21 16:34:04 +01:00
Armin Novak
fcdb1a6fd4 [client,sdl] dialogs respect UseCommonStdioCallbacks
If FreeRDP_UseCommonStdioCallbacks is set do not show connection/error
dialogs but only print to console
2023-12-21 12:26:24 +01:00
Armin Novak
ad0de52ab6 [client,sdl] show error dialog on session quit
if a session is terminated in an unusual way (e.g. not user action) show
an error dialog.
2023-12-21 07:11:12 +01:00
Armin Novak
c395094f73 [client,sdl] fix connection dialog reset
only clean up on sdl thread quit to show error dialogs after the RDP
connection already terminated.
2023-12-21 07:11:12 +01:00
Armin Novak
46179077b9 [client,sdl] reset connection dialog on sdl quit 2023-12-20 23:16:10 +01:00
Armin Novak
c269086765 [client,sdl] show a logo on connection dialog
* Show a icon to indicate the type of message
* Show the FreeRDP logo below the icon
2023-12-20 23:16:10 +01:00
Armin Novak
23f8fd2fee [client,sdl] lock connection dialog access
might happen from different threads.
2023-12-20 23:16:10 +01:00
Armin Novak
3bdaca81d0 [client,sdl] fix c++ static initialization order 2023-12-20 23:16:10 +01:00
Armin Novak
3095814184 [client,sdl] add pre std::filesystem compatibility 2023-12-20 23:16:10 +01:00
Armin Novak
187f562098 [client,sdl] generate binary resources during build 2023-12-20 23:16:10 +01:00
Armin Novak
41665700bb [client,sdl] added resource manager 2023-12-20 23:16:10 +01:00
Armin Novak
c952fae5b1 [client,sdl] add icon to connect dialog 2023-12-20 23:16:10 +01:00
Armin Novak
35d584287d [client,sdl] improve file to array helper 2023-12-20 23:16:10 +01:00
Armin Novak
dd7115889d [client,sdl] improve connection dialog 2023-12-20 23:16:10 +01:00
Armin Novak
765129aacf [client,sdl] improve dialog test drawing 2023-12-20 23:16:10 +01:00
Armin Novak
5e6ca89ded [client,sdl] add SDL quit event wrapper 2023-12-20 23:16:10 +01:00