Commit Graph

22873 Commits

Author SHA1 Message Date
akallabeth
79a01c3ec0 Merge pull request #12200 from akallabeth/release-3.22.0
Release 3.22.0
2026-01-28 11:25:47 +01:00
akallabeth
a600fcdcc5 dev cycle 3.22.1-dev0 2026-01-28 10:59:21 +01:00
Armin Novak
e3ef4c7113 release 3.22.0 2026-01-28 10:58:29 +01:00
Armin Novak
b31aec24a2 changelog 2026-01-28 10:57:53 +01:00
akallabeth
7ba57d23bb Merge pull request #12195 from akallabeth/rdpei-fix
[channels,rdpei] add RDPINPUT_CONTACT_FLAG_UP
2026-01-28 10:37:04 +01:00
Armin Novak
0c87a5dd65 [channels,rdpei] add RDPINPUT_CONTACT_FLAG_UP
When iterating over the list of contacts add a RDPINPUT_CONTACT_FLAG_UP
contact to the list of events to send.
2026-01-28 10:16:58 +01:00
akallabeth
9148963b83 Merge pull request #12199 from akallabeth/rdpsnd
[channel,rdpsnd] only clean up thread before free
2026-01-28 10:04:03 +01:00
akallabeth
d17dc23257 [winpr,test] TestSynchTimerQueue: use int64
The calculations might overflow or be negative, so use INT64 to store
and present the results.
2026-01-28 09:52:49 +01:00
akallabeth
afa6851dc8 [channel,rdpsnd] only clean up thread before free
rdpsnd channel usually has multiple instances (static, dynamic, ...) so
ensure only to terminate the handler thread when the channel is actually
closed for good.
2026-01-28 09:49:36 +01:00
akallabeth
7ac64750a1 Merge pull request #12197 from akallabeth/rdpecam
[channels,rdpecam] fix PROPERTY_DESCRIPTION parsing
2026-01-28 09:15:33 +01:00
akallabeth
067524438a [channels,rdpecam] fix PROPERTY_DESCRIPTION parsing
* The Capabilities field is a mask, so allow combination of all valid
  values.
* Adjust header to hold a mask
* Use enum to define constants for parsed values
2026-01-28 08:42:08 +01:00
akallabeth
c8e4d8e5b0 Merge pull request #12196 from akallabeth/srv-logon
peer: Disconnect if Logon() returned FALSE
2026-01-27 20:11:52 +01:00
Jonas Ådahl
4ea803134e peer: Disconnect if Logon() returned FALSE
Returning FALSE implies the client was not authorized, but it does not
have any real impact on the connection, other than setting the
authorized field.

Change this by disconnecting the client if a Logon() callback returned
that a client was not authorized.
2026-01-27 19:39:42 +01:00
akallabeth
dcdfd36990 Merge pull request #12173 from akallabeth/sdl3-high-dpiv2
Sdl3 high dpiv2
2026-01-27 16:12:48 +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
akallabeth
d19714d706 Merge pull request #12194 from akallabeth/gdi-checks
[gdi] add additional checks for a valid rdpGdi
2026-01-27 15:23:09 +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
akallabeth
57034f2294 [client,sdl] fix compiler warnings 2026-01-27 15:22:36 +01:00
akallabeth
947427a911 [client,sdl] simplify event handling
pass on events to SdlContext and let the class handle it internally
2026-01-27 15:22:35 +01:00
akallabeth
9468720d93 [client,sdl] refactor sdlInput
* fix return types, use standard types instead of WinPR ones
* rename files, match class names
2026-01-27 15:22:33 +01:00
akallabeth
7f434db04a [client,sdl] use SdlContext scaling functions 2026-01-27 15:22:32 +01:00
akallabeth
c6b104cce0 [client,sdl] wrap mouse cursor move in SdlContext 2026-01-27 15:22:31 +01:00
akallabeth
2e7639d903 [client,sdl] add coordinat conversion functions
* pixel to screen mapper
* screen to pixel mapper
* local scaling add/remove for smart-sizing
2026-01-27 15:22:30 +01:00
akallabeth
02a9d61182 [client,sdl] remove unused channel function definitions 2026-01-27 15:22:28 +01:00
akallabeth
e3d3bc363c [client,sdl] add util stringify functions 2026-01-27 15:22:27 +01:00
akallabeth
7258c77838 [client,sdl] fix local scaled drawing
* Add scaling factor to drawing routines
* Update local scaling on each draw
2026-01-27 15:22:25 +01:00
akallabeth
842624f25a [client,sdl] check function return in dialogs 2026-01-27 15:22:24 +01:00
akallabeth
1ce038c12b [client,sdl] unify stringification functions 2026-01-27 15:22:23 +01:00
akallabeth
abdedab33c [client,sdl] encapsulate and unify event handling
* move event handling to SdlContext
* name functions similar
2026-01-27 15:22:22 +01:00
akallabeth
49ddfe65f9 [client,sdl] add toString methods for various types
* unify and add toString methods for types
* add missing event types
2026-01-27 15:22:21 +01:00
akallabeth
743e1a6799 [client,sdl] add new SdlWindow members
* get orientation of window on display
* get window size (in logical size)
2026-01-27 15:22:20 +01:00
akallabeth
2bbe3310ba [warnings] fix compiler and clang-tidy issues 2026-01-27 15:22:18 +01:00
akallabeth
4c15ec1b99 [client,sdl] add nodiscard to functions 2026-01-27 15:22:17 +01:00
akallabeth
845ef25997 [client,sdl] fix unused return warnings 2026-01-27 15:22:15 +01:00
akallabeth
caffbab7d4 [client,sdl] fix display channel updates
* always send updates if enabled and a monitor setting changed
* properly handle window and display updates
2026-01-27 15:22:14 +01:00
akallabeth
636590374a [client,sdl] mark functions nodiscard
* mark all SDL client functions nodiscard to emit warnings if the return
  is not properly checked
* refactor some member functions, move implementation from header to
  source
2026-01-27 15:22:13 +01:00
akallabeth
2fe15703b3 [client,sdl] split SdlContext to separate files 2026-01-27 15:22:12 +01:00
akallabeth
5f8c0a86d9 [client,sdl] encapsulate window class 2026-01-27 15:22:11 +01:00
akallabeth
f183b1d258 [client,sdl] add utils functions
* Add HighDpiScaleMode platformScaleMode(): get the platform specific
  high dpi hangling type
* Move and rename sdl exit codes to separate namespace
* mark all functions [[nodiscard]]
2026-01-27 15:22:10 +01:00
akallabeth
af48763b9a [client,sdl] simplify sdl thread startup 2026-01-27 15:22:08 +01:00
Armin Novak
92fde0f6b3 [gdi] add additional checks for a valid rdpGdi
some client implementations do not properly set up the gdi, so abort
gracefully.
2026-01-27 15:07:10 +01:00
akallabeth
b5b451e35b Merge pull request #12192 from akallabeth/nodiscard
[winpr,platform] drop C23 [[nodiscard]]
2026-01-27 13:17:49 +01:00
Armin Novak
f443c1bc6f [winpr,platform] drop C23 [[nodiscard]]
In WINPR_ATTR_NODISCARD drop the C23 [[nodiscard]] until we figure out
how to avoid compiler errors on fedora/gcc 15
2026-01-27 12:59:22 +01:00
akallabeth
eab2ce351e Merge pull request #12190 from akallabeth/winpr-api-def
Winpr api def
2026-01-27 12:41:37 +01:00
akallabeth
cf63326799 [winpr,platform] fix duplicate deprecation define 2026-01-27 12:15:03 +01:00