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
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
Armin Novak
b4c9ab9e93
[client,x11] apply /size:xx% only once
2026-02-11 09:46:05 +01:00
tsz8899
ecc18608ad
[client,windows] Enhance memory safety with NULL checks and resource protection
2026-02-11 09:06:52 +01:00
Armin Novak
fd9d199fd5
[client,sdl] use bounds checking vector accessors
2026-02-10 19:27:48 +01:00
Armin Novak
adbab03503
[client,sdl] modernize C++: use std::scope_guard
2026-02-10 15:53:07 +01:00
Armin Novak
6f6ab57eb7
[client,sdl] use std::make_shared
2026-02-10 15:53:05 +01:00
Armin Novak
5624856b8b
[client,sdl] fix missing include
2026-02-10 15:53:03 +01:00
Armin Novak
ec39fbad59
[client,x11] do not va_end uninitialized list
2026-02-10 15:53:03 +01:00
akallabeth
cb3fb59a89
Merge pull request #12285 from akallabeth/pulse-name
...
Use application details for names
2026-02-10 12:18:25 +01:00
Armin Novak
2679cf6bf8
[client,x11] refactor headers
...
* Use a forward definition in xf_types.h for xfContext
* Resolve circular dependencies on xfreerdp.h
2026-02-10 11:29:21 +01:00
Armin Novak
d3e8b3b936
[client,x11] lock cache when providing data
2026-02-10 11:26:12 +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
Armin Novak
dac2c20800
[client,common] use application details for messages
2026-02-10 11:20:14 +01:00
Armin Novak
1994e98442
[client,x11] lock appWindow
...
When using xf_rail_get_window lock the hash talbe until xf_rail_return_window
2026-02-09 18:30:11 +01:00
Armin Novak
b4f0f0a18f
[client,x11] fix xf_rail_window_common cleanup
...
leave the appWindow for later cleanup.
2026-02-09 15:50:19 +01:00
Armin Novak
9362a0bf8d
[client,x11] stringfiy functions for RAILS
2026-02-09 13:39:28 +01:00
Armin Novak
58409406af
[client,X11] fix clipboard update
...
Synchronize channel thread with RDP thread when accessing clipboard
formats
2026-02-09 12:59:00 +01:00
akallabeth
2341b5cec3
Merge pull request #12268 from tsz8899/feat/keyboard-sync-complete-recommit
...
[client,windows] Implement complete keyboard indicator synchronization
2026-02-09 12:39:14 +01:00
akallabeth
12947ae121
Merge pull request #12248 from motor-dev/master
...
[client,sdl] fix multimon/fullscreen on wayland
2026-02-09 08:54:27 +01:00
akallabeth
68bf770f94
Merge pull request #12261 from tsz8899/fix/window-handle-validation
...
[client,windows] Add window handle validation in RDP_EVENT_TYPE_WINDOW_NEW
2026-02-09 08:45:04 +01:00
akallabeth
258f07d269
Merge pull request #12264 from tsz8899/feat/error-handling-enhancements
...
[client,windows] Enhance error handling and context validation
2026-02-09 08:44:47 +01:00
tsz8899
73a82577fa
[client,windows] Initialize variable in wf_keyboard_set_indicators as requested
2026-02-08 21:52:14 +08:00
tsz8899
ed371b216a
[client,windows] Fix return value checks for mouse event functions
2026-02-08 20:27:38 +08:00
tsz8899
9c3b638a5c
[client,windows] Implement complete keyboard indicator synchronization
2026-02-07 02:33:01 +08:00
tsz8899
65fb43add6
[client,windows] Enhance error handling and context validation
2026-02-06 13:55:26 +08:00
tsz8899
b8a7e2ddf0
[client,windows] Add window handle validation in RDP_EVENT_TYPE_WINDOW_NEW
2026-02-06 13:48:47 +08:00
motor-dev
d01698752c
[client,sdl] fix multimon/fullscreen on wayland
...
Help SDL identify the display to use for fullscreen even when compositors interfere with window positions.
SDL respects the intent of a window if it is moved to the appropriate display just before it is made fullscreen.
2026-02-05 23:16:24 +01:00
akallabeth
123be8e009
[client,x11] fix orientation setting of rdpMonitor
2026-01-29 22:19:20 +01:00
akallabeth
b7a92956e6
[client,sdl] log all cursor related errors
2026-01-29 22:00:46 +01:00
akallabeth
f24ac2c7b0
[client,sdl] add SDL_Error to exceptions
2026-01-29 20:46:21 +01:00
akallabeth
4e3b4d9371
[client,sdl] do not apply window offset
...
only apply the offsets if multimon drawing is active.
2026-01-28 22:44:21 +01:00
akallabeth
a97a2ef24d
[client,sdl] refactor exception class
2026-01-28 22:05:32 +01:00
akallabeth
a9e3954076
[client,sdl] simplify mouse cursor update and restore
2026-01-28 21:49:31 +01:00
akallabeth
7e220eee98
[client,sdl] ignore missing renderer
...
When trying to map screen to pixel coordinates ignore a NULL renderer.
This was sometimes observed with X11 backend.
2026-01-28 21:31:59 +01:00
akallabeth
241f338ad1
[client,sdl] log all sdl_run errors
2026-01-28 21:31:57 +01:00
akallabeth
fe9a1b0eed
[client,sdl] add error checks and logs
2026-01-28 21:31:54 +01:00
akallabeth
2bec6913a8
[client,sdl] fix multimonitor mouse coordinates
...
apply monitor offset to window coordinates.
2026-01-28 21:31:50 +01:00
akallabeth
1be664218c
[client,sdl] simplify window creation
2026-01-28 13:41:05 +01:00
akallabeth
3eb660ace5
[client,sdl] remove display id from title
2026-01-28 13:22:29 +01:00
akallabeth
56d6836ceb
[client,sdl] update mouse pointer when mouse enters
2026-01-28 13:22:26 +01:00
Armin Novak
501740404f
[client,sdl] check for XWayland for warning
...
Also check for a wayland environment if the SDL driver is x11. This is
also affected by the multimonitor bug.
2026-01-27 15:35:12 +01:00
Armin Novak
00cfc36987
[client,sdl] warn about multimonitor issues
2026-01-27 15:22:44 +01:00
Armin Novak
197ac808fd
[client,sdl] handle render events in SdlContext
2026-01-27 15:22:42 +01:00
Armin Novak
03c350950a
[client,sdl] handle input events in SdlContext
2026-01-27 15:22:41 +01:00
Armin Novak
ba07955689
[client,sdl] handle clipboard events in SdlContext
2026-01-27 15:22:40 +01:00
akallabeth
dcdde8122d
[client,sdl] adjust nodiscard use for dialogs
2026-01-27 15:22:39 +01:00
akallabeth
d74eecff3b
[client,sdl] ignore set_mouseover result
...
The function might return false if no item was selected.
2026-01-27 15:22:37 +01:00