Commit Graph

22805 Commits

Author SHA1 Message Date
Armin Novak
6a1cc0f031 [freerdp,api] mark function pointers [[nodiscard]] 2026-02-16 09:18:30 +01:00
Armin Novak
399d92f26e [winpr] mark function pointers [[nodiscard]] 2026-02-15 23:57:23 +01:00
akallabeth
6db1965bb2 Merge pull request #12309 from Wladefant/patch-1
[android] Fix invert scrolling default value mismatch
2026-02-15 19:21:27 +01:00
Wladimir Kirjanovs
31346e9024 [android] Fix invert scrolling default value mismatch
The `getInvertScrolling()` fallback default was `false`, while
the XML preference in `settings_app_ui.xml` defines `android:defaultValue="true"`.

On a fresh install, if `PreferenceManager.setDefaultValues()` has not yet
persisted the XML defaults into SharedPreferences, the fallback value
`false` is returned instead of the intended `true`. This causes the
"Invert Scrolling" option to appear checked in the UI but not actually
take effect until the user toggles it manually.

Change the fallback from `false` to `true` to match the XML default.

Fixes #12308
2026-02-15 18:25:28 +01:00
akallabeth
2de734ada0 Merge pull request #12306 from akallabeth/scard-pad-fix
[utils,smartcard] check stream length on padding
2026-02-15 14:00:25 +01:00
Armin Novak
65d59d3b3c [utils,smartcard] check stream length on padding
When reading optional padding in smartcard channel check if padding is
actually there.
2026-02-15 11:34:59 +01:00
akallabeth
ffea8dd928 Merge pull request #12305 from akallabeth/sdl-monitor-fix
[client,sdl] fix move constructor of SdlWindow
2026-02-14 20:42:13 +01:00
Armin Novak
1ac24accf0 [client,sdl] fix move constructor of SdlWindow 2026-02-14 20:35:25 +01:00
akallabeth
0ff34a1124 Merge pull request #12217 from akallabeth/sdl-fs
Sdl fullscreen
2026-02-14 12:20:03 +01:00
akallabeth
e0d54eaf42 Merge pull request #12303 from akallabeth/sdl-pointer-fix
[client,sdl] improve cursor updates, fix surface sizes
2026-02-14 12:18:35 +01:00
Armin Novak
52cd988410 [client,sdl] fix cursor surface creation
* Pass the pixel width and height to SDL_CreateSurface
* Pass display scaled hotspot to SDL_CreateColorCursor
2026-02-14 10:06:12 +01:00
Armin Novak
3503be620a [client,sdl] log cursor scale 2026-02-14 10:03:01 +01:00
Armin Novak
07bf4e9c10 [client,sdl] improve cursor updates
* use std::unique_ptr for temporary SDL_Surface (ease up cleanup)
* better logging of errors (add full surface details)
2026-02-14 10:02:57 +01:00
Armin Novak
1b577a755e [client,sdl] add toString for SDL_Rect 2026-02-14 09:44:47 +01:00
akallabeth
28fc9a23a1 Merge pull request #12302 from akallabeth/x11-icon-fix
[codec,color] fix input length checks
2026-02-13 20:15:39 +01:00
Armin Novak
62c10e59d8 [client,android] fix platform dependent jlong size
always cast to int64_t to avoid format string issues.
2026-02-13 19:54:26 +01:00
Armin Novak
f5e20403d6 [codec,color] fix input length checks
* check cbBitsMask meets expected length
* Add logging for length failures
2026-02-13 19:39:21 +01:00
Armin Novak
da71c28c9c [client,sdl] create a map of pixel coordinates
We need pixel coordinates for each monitor, but SDL may return logical
coordinates depending on HighDPI mode used by the system.
This commit does:
* Detect which HighDPI mode is in use isHighDPIWindowsMode
* Creates a map of pixel coordinates for each monitor
  * recreated whenever a monitor changes)
  * Updates the window rdpMonitor data for existing windows
2026-02-13 19:24:15 +01:00
akallabeth
3cb88eefd6 [client,sdl] detect displays on startup before RDP
do a simple display query on main SDL thread before starting RDP.
This way the required rdpMonitor details are already available when the
monitor layout or desktop resolution must be sent to the server
2026-02-13 19:24:15 +01:00
akallabeth
e2dd2eedab [client,sdl] implement display detection handling
* SdlContext::detectDisplays to create a initial list of displays and
  their rdpMonitor configuration
* SdlContext::getDisplays to query a SDL_DisplayID at runtime
* SdlContext::getDisplayIds to query available SDL_DisplayID at runtime
2026-02-13 19:24:15 +01:00
akallabeth
efa15e1dc2 [client,sdl] implement a static SdlWindow::query function
The display settings can not be proplerly queried by SDL without a
window. Create a temporary, invisible window for a requested monitor and
query the required details from that window.
2026-02-13 19:24:14 +01:00
akallabeth
99a44990ba [client,sdl] rename SdlContext::removeDisplay
To match with SdlContext::addDisplayWindow rename it to
SdlContext::removeDisplayWindow
2026-02-13 19:24:10 +01:00
akallabeth
775e9e8576 Merge pull request #12301 from akallabeth/compiler-flags
[cmake,compiler] disable -Wjump-misses-init
2026-02-13 18:48:16 +01:00
Armin Novak
103964c7a6 [cmake,compiler] disable -Wc++-keyword
This is a C project, so C++ support is only required in public API
headers. Disable this warning.
2026-02-13 18:34:51 +01:00
Armin Novak
3af5581777 [cmake,compiler] disable -Wjump-misses-init
like explained in
https://lists.nongnu.org/archive/html/coreutils/2018-06/msg00044.html
this warning is quite useless for C (in contrast to C++) code
2026-02-13 18:22:33 +01:00
akallabeth
e28146d360 Merge pull request #12300 from akallabeth/sign-warnings
Sign warnings
2026-02-13 12:46:48 +01:00
Armin Novak
eb0b74a908 [channels,rdpecam] fix sign warnings 2026-02-13 12:17:47 +01:00
Armin Novak
9903e234e4 [core,gateway] fix sign warnings from tsg 2026-02-13 12:16:17 +01:00
Armin Novak
72d4e7ff39 [cmake,compiler] disable -Wnrvo warnings 2026-02-13 12:15:22 +01:00
akallabeth
74e7e20770 Merge pull request #12299 from akallabeth/test-fix
[core,test] fix use after free
2026-02-13 12:05:38 +01:00
Armin Novak
f0ee9d7b6f [core,test] fix use after free 2026-02-13 09:25:55 +01:00
akallabeth
0cef63776e Merge pull request #12298 from morgan9e/fix-sdl-smart-sizing
[client,SDL3] Fix properly handle smart-sizing with fullscreen
2026-02-13 09:24:19 +01:00
14c66c8bfc [client,SDL] Fix properly handle smart-sizing
* In fullscreen set desktop resolution to argument provided with
  /smart-sizing:<width>x<height>
* In window mode set the window size to /size:<width>x<height> and the
  remote resolution to /smart-sizing:<width>x<height>
* Ignore and print a warning if /multimon is in use (currently not
  defined)
2026-02-13 09:07:09 +01:00
akallabeth
341b25d508 Merge pull request #12296 from akallabeth/scard-PCSC_ReadDeviceSystemName
[winpr,smartcard] fix returned attribute length
2026-02-12 10:34:47 +01:00
Armin Novak
606250f4cb [winpr,smartcard] fix returned attribute length
SCARD_ATTR_DEVICE_SYSTEM_NAME_W requires twice the size, so multiply
before return.
2026-02-12 10:01:06 +01:00
akallabeth
fb3f8aa3b6 Merge pull request #12295 from akallabeth/freerdp-config-test
Freerdp config test
2026-02-11 17:10:44 +01:00
Armin Novak
5c682eee86 [channels,video] make channel less verbose
The channel did spam the log with frame updates, remove that message in
the hot path.
2026-02-11 17:02:41 +01:00
Armin Novak
ccb79eb4d0 [core,test] make TestUtils verbose
* Add logging to TestUtils
2026-02-11 17:02:37 +01:00
Armin Novak
551d42c5bd [packaging,deb] make ctest verbose 2026-02-11 16:50:01 +01:00
Armin Novak
4542715e37 [core,test] Add definitions for TestUtils
The unit test needs some variables defined, ensure they are.
2026-02-11 16:46:48 +01:00
akallabeth
f75194d30a Merge pull request #12293 from akallabeth/size-percent
[client,x11] apply /size:xx% only once
2026-02-11 10:23:44 +01:00
Armin Novak
1defc14055 [core,test] fix missing WITH_RESOURCE_VERSIONING 2026-02-11 09:56:55 +01:00
Armin Novak
b4c9ab9e93 [client,x11] apply /size:xx% only once 2026-02-11 09:46:05 +01:00
akallabeth
835f986564 Merge pull request #12271 from tsz8899/feat/memory-safety-enhanced-recommit
[client,windows] Enhance memory safety with NULL checks and resource protection
2026-02-11 09:22:43 +01:00
tsz8899
ecc18608ad [client,windows] Enhance memory safety with NULL checks and resource protection 2026-02-11 09:06:52 +01:00
akallabeth
e47c8ed603 Merge pull request #12291 from akallabeth/warning-cleanup
Warning cleanup
2026-02-10 19:43:19 +01:00
Armin Novak
fd9d199fd5 [client,sdl] use bounds checking vector accessors 2026-02-10 19:27:48 +01:00
Armin Novak
f805a57b9d [utils,heplers] fix freerdp_getApplicationDetailsVersion 2026-02-10 19:27:44 +01:00
Armin Novak
fff62ff919 [channels,rdpecam] fix integer types and warnings 2026-02-10 19:07:10 +01:00
akallabeth
103afdfb36 Merge pull request #12289 from akallabeth/jump-init
warning cleanups
2026-02-10 17:11:07 +01:00