261 Commits

Author SHA1 Message Date
Armin Novak
b724ba546d [checks,return] fix various unchecked return values 2026-03-03 09:40:27 +01:00
Armin Novak
4ff57b68c2 [client,x11] refactor locking
X11 and railWindows lock must be held at the same time to avoid
deadlocking.
2026-03-01 09:23:42 +01:00
Armin Novak
78fd7f580d [client,x11] improve rails window locking
* Add unified lock/unlock functions to allow easier tracing
* Fix a few locking issues found during debugging
* Add an assertion triggering when a lock is locked/unlocked twice
2026-02-27 10:56:12 +01:00
Armin Novak
465a6353d5 [c23,client] replace NULL with nullptr 2026-02-26 15:42:59 +01:00
Armin Novak
48267edf2f [winpr] add WINPR_C_ARRAY_INIT
since C23 allows c++ style initializing replace direct use with this
macro
2026-02-25 19:23:08 +01:00
Armin Novak
3fcc287b16 [warnings] initialize all va_list 2026-02-25 07:41:39 +01:00
Armin Novak
9e7aaa9bbc [client,x11] fix debug warnings 2026-02-24 16:23:15 +01:00
Armin Novak
db3dcf57b1 [client,x11] fix XGetWindowProperty return handling 2026-02-19 21:59:15 +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
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
akallabeth
c19ba43a82 [c,printf] fix wlog format string to match arguments 2026-01-16 11:40:41 +01:00
Li Gang
8b25743c18 [client,x11]#11658,when size changed of an existing appWindows, except resize the main window, resize it's pixmap also 2025-06-05 10:41:01 +08:00
akallabeth
ff5aca1b0b [client,x11] add more logging X11 calls 2025-05-23 12:15:09 +02:00
akallabeth
1b1a7d35ec [client,x11] log XFlush 2025-05-22 19:47:41 +02:00
akallabeth
6007544a1a [client,x11] add return value logging 2025-05-22 17:54:54 +02:00
akallabeth
4ea50fd0c5 [client,x11] log XPutImage and XCopyRect 2025-05-22 16:08:32 +02:00
Armin Novak
0a0248ebe2 [client,x11] rename _NET_* variables and defines
avoid using restricted _
2025-03-19 18:59:56 +01:00
akallabeth
8ea2c5dde6 [client,x11] implement keyboard mapping
* move to client code
* fix parse_xkb_rule_names
2025-03-04 13:26:42 +01:00
akallabeth
8db537a07c [client,warnings] fix -Wunused-parameter for x11 2025-02-13 15:54:10 +01:00
akallabeth
89d6ddc78d [client,x11] fix multi monitor settings 2025-01-19 16:03:33 +01:00
akallabeth
6701359cc1 [warnings] fix integer casting
* use WINPR_ASSERTING_INT_CAST where possible
* clean up client code
2024-12-19 12:45:23 +01:00
akallabeth
141dc8b830 [client,x11] fix some rail z-ordering issues
- Always call xf_XSetTransientForHint unless style has WS_CHILD set.
  xf_XSetTransientForHint in turn checks if a parent is set, which is
  basically the only hint we have for managing/forcing the z-order.
  Everything else is irrelevant in that regard (except WS_EX_TOPMOST)
  See https://learn.microsoft.com/en-us/windows/win32/winmsg/window-features#owned-windows
- Make _NET_WM_STATE_ABOVE only dependent on WS_EX_TOPMOST
2024-12-05 11:22:23 +01:00
stephanebill
4f2afa8c47 spell check with codespell 2024-11-20 16:53:40 -05:00
akallabeth
78acedb40e [warnigns] fix Wshorten-64-to-32 2024-11-11 10:22:37 +01:00
akallabeth
dcf5a8e28c [warnings] fix -Wswitch-default 2024-10-31 11:42:24 +01:00
akallabeth
47c5070805 Merge pull request #10635 from akallabeth/initialize-variables
Initialize variables
2024-09-30 16:04:20 +02:00
Armin Novak
66b6a90cc7 [client,x11] fix xf_GetWindowProperty arguments
Use BYTE* as argument and cast later to desired type
2024-09-25 10:31:38 +02:00
akallabeth
01d565398e [client,x11] fix reading of work area
https://specifications.freedesktop.org/wm-spec/1.4/ar01s03.html
_NET_CURRENT_DESKTOP might not be supported by a window manager. Ignore
failures there and just take the first monitor dimensions.
2024-09-24 13:07:22 +02:00
akallabeth
3d210d815d [client,X11] fix sign of shifted type 2024-09-24 11:30:23 +02:00
akallabeth
239440e28d [warnings] remove or comment unused macros 2024-09-20 18:49:38 +02:00
akallabeth
69527e117a [client,X11] update _NET_WM_STATE for WS_EX_TOPMOST
* Set _NET_WM_STATE_ABOVE if WS_EX_TOPMOST is set and WS_EX_TOOLWINDOW
  clear for a window style
* Clear _NET_WM_STATE_ABOVE in all other cases
2024-09-20 11:33:29 +02:00
akallabeth
fd3c7633d6 [client,X11] fix rails modal windows
xf_XSetTransientForHint of windows of type
(WS_EX_CONTROLPARENT | WS_EX_TOOLWINDOW | WS_EX_DLGMODALFRAME)
and parent window set
2024-09-20 11:31:32 +02:00
akallabeth
f67e641cce [client,X11] add helper functions for rail window style
* window_styles_to_string
* window_styles_ex_to_string
2024-09-20 11:31:24 +02:00
akallabeth
1d33095500 [warnings] fix cert-err33-c
Fix unused return values, cast to void if on purpose
2024-08-29 10:19:27 +02:00
Armin Novak
17d44e847f [coverity] fix various warnings 2024-08-21 09:47:34 +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
Mathias Lithen
532a3cd1a9 Set res_class on classHints 2024-04-01 09:30:30 +02: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
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
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
akallabeth
4e438d1c3e [client] make settings opaque 2023-11-24 14:54:56 +01:00
Armin Novak
970f0c54e8 [stream] use const correct Stream_Pointer access 2023-06-08 08:09:33 +02:00
Armin Novak
a4c6b36a19 [build] fix memory sanitizer stack frame warnings 2023-06-07 09:14:45 +02:00
akallabeth
28b0821ec6 [cmake] build xfreerdp standalone project 2023-05-31 11:05:56 +02:00