0140454
712c5fee97
Fix key repeat in Wayland
2021-01-27 01:22:52 +08:00
Martin Fleisz
152bf0cda4
Merge pull request #6284 from akallabeth/wayland
...
Lock wayland buffer updates
2020-06-19 11:44:28 +02:00
akallabeth
c902f583d0
Fixed missing lock during buffer submit.
2020-06-18 08:42:24 +02:00
akallabeth
1bc48b058f
Fixed double free for uwac buffers
2020-06-16 14:26:38 +02:00
Kyle Evans
1b5e234135
uwac: don't try to use O_TMPFILE on FreeBSD
...
Currently, this sets an invalid open flag and attempts to open(), which
will fail. Instead of doing that, don't try to define O_TMPFILE where
such a definition can't exist and force the fallback rather than making
an always-fail open() call.
2020-06-08 08:17:25 +02:00
akallabeth
94e38f7285
Increased uwac library version.
2020-05-08 11:04:03 +02:00
akallabeth
9900e52073
Fixed UwacDisplayGetOutput and UwacOutputGetResolution checks
...
return proper error conditions if arguments are invalid.
2020-05-05 10:29:25 +02:00
Sascha Wessel
ff618f53f7
libuwac/input: Fix memory leak
...
`create_pointer_buffer()` allocates memory with `mmap` and never frees it.
Adding a corresponding `munmap` fixes this issue.
2020-04-29 22:31:02 +02:00
Sascha Wessel
11facf8909
libuwac/window: Fix memory leak / SIGBUS
...
`UwacWindowShmAllocBuffers()` allocates memory with `mmap` and never frees it
resulting in SIGBUS errors and running out of memory after some time.
Adding a corresponding `munmap` fixes this issue.
2020-04-26 19:19:31 +02:00
David Fort
1fec2f9498
uwac, wlfreerdp: corrected API for UwacOutput and added monitor listing
2020-04-21 08:12:31 +02:00
Fabrice Fontaine
3929226830
src/libuwac/uwac-os.c: fix build with uclibc
...
O_TMPFILE is used since version 2.0.0 and
52ef8079ea
However, this will result in the following build failure on uclibc or
uclibc-ng:
/home/fabrice/buildroot/output/build/freerdp-2.0.0/uwac/libuwac/uwac-os.c:228:18: error: ‘O_TMPFILE’ undeclared (first use in this function); did you mean ‘EMFILE’?
fd = open(path, O_TMPFILE | O_RDWR | O_EXCL, 0600);
^~~~~~~~~
EMFILE
To fix this build failure, define O_TMPFILE if needed
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2020-04-10 10:29:28 +02:00
akallabeth
56deba7562
Enforce coding style.
2020-04-09 13:49:10 +02:00
Julian Albrecht
7824f0cee9
Moves variable declaration to beginning of scope
2020-04-09 13:49:10 +02:00
Julian Christian Albrecht
3029e3b2cf
Check return value if already a listener is registered
2020-04-09 13:49:10 +02:00
Julian Albrecht
7ecce5acbe
Adds touch support to wlfreerdp
2020-03-27 14:16:18 +01:00
Armin Novak
87f5b768a9
Silenced warning due to missing debug define guard.
2020-03-10 14:04:53 +01:00
Armin Novak
7c243da6e1
Remove symbols exported by accident.
2019-12-02 10:57:31 +01:00
Armin Novak
72ca88f49c
Reformatted to new style
2019-11-07 10:53:54 +01:00
Kenny Levinsen
3c18555693
uwac: Only submit dirty buffers
2019-07-30 09:46:57 +02:00
Kenny Levinsen
2548fd4aae
uwac: Make damage tracking more readable
2019-07-30 09:46:57 +02:00
Kenny Levinsen
49674d57f6
uwac: Re-enable damage tracking
2019-07-30 09:46:57 +02:00
Kenny Levinsen
4df57d915d
uwac: Do not unconditionally set pendingBuffer on configure
...
If pendingBuffer is set when it was otherwise NULL, then
UwacWindowSubmitBuffer will forever bail early, waiting for a frame
callback that will never come.
2019-07-30 09:46:57 +02:00
Kenny Levinsen
7dda8362e7
uwac: Acknowledge xdg_surface configure messages
...
This is necessary for the surface to have its role configured.
2019-07-30 09:46:57 +02:00
Armin Novak
d91d1edd0c
Fixed dead store warnings
2019-04-05 09:14:35 +02:00
Armin Novak
de69dd3942
Fixed sign-compare warnings
2019-04-05 09:13:24 +02:00
Armin Novak
1a46ef2a82
Fixed unused variable warnings.
2019-04-05 09:13:24 +02:00
David Fort
cfbf22348e
Merge pull request #5251 from akallabeth/wayland_cursor_handling_fix
...
Moved wayland cursor handling to seat.
2019-04-04 18:05:28 +02:00
Armin Novak
cbeabfa47e
Fixed xrealloc argument type
...
Using a void* as arugment instead of char* removes warnings when
allocating something beside a string.
2019-02-21 11:43:59 +01:00
Armin Novak
073c54a368
Use safe iteration for seat removal.
2019-02-19 09:29:17 +01:00
Armin Novak
b0ab577474
Moved wayland cursor handling to seat.
2019-02-13 09:02:15 +01:00
Armin Novak
0d389d09a3
Fix 5243: Allocate buffers zero in uwac.
2019-02-11 11:54:19 +01:00
Armin Novak
ce2f2012ae
Destroying released cursor buffers.
2019-02-08 15:22:06 +01:00
Armin Novak
db3bcffd03
Don't destroy wayland buffer attached to a surface.
2019-02-08 13:42:45 +01:00
Armin Novak
b3ffdbbde1
Fixed missing initializer.
2019-02-08 12:08:30 +01:00
Armin Novak
32d539b706
Removed debug messages.
2019-01-29 13:34:27 +01:00
Armin Novak
f64db12a2e
Fixed uninitialized value.
2019-01-29 11:07:44 +01:00
Armin Novak
2418c43cac
Fixed pointer image update.
2019-01-29 09:34:30 +01:00
Armin Novak
52ef8079ea
Added O_TMPFILE support for uwac tempfile generation.
2019-01-29 09:34:30 +01:00
Armin Novak
34adfd5714
Added UWAC_EVENT_OUTPUT_GEOMETRY event
2019-01-29 09:34:30 +01:00
Armin Novak
23fa6b9182
Added mouse cursor callback stubs.
2019-01-29 09:34:30 +01:00
Armin Novak
b1e6e232ee
Fixed buffer submit and callback cleanup.
...
* Buffer submit now ignores duplicate buffer submit again.
* Frame callback is cleaned up in the callback function now.
* Damage region is currently ignored as there are screen artifacts otherwise.
2019-01-25 10:50:07 +01:00
Armin Novak
823411c2f3
Fixed wayland buffer updates
...
The wayland buffer size always matches the current window size.
That might be different from the actual remote framebuffer size,
to when copying always use the correct strides to avoid distorted
screen content.
2019-01-25 10:49:03 +01:00
Armin Novak
0fd27e0e38
Fixed wayland clipboard registration, retry if seat is detected before.
2019-01-25 10:49:03 +01:00
David Fort
713e9cd5a7
uwac: fix initialization of data_device_manager
...
Depending on how global objects are announced (seats then ddm), we could fail to initialize
the data device manager of seats.
2019-01-24 10:34:16 +01:00
Armin Novak
c8e85338b7
Fixed missing return.
2019-01-23 15:56:11 +01:00
Armin Novak
ceeccd34e8
Added assert
2019-01-23 15:56:11 +01:00
Armin Novak
68b5d47d9a
Removed internal checks.
2019-01-23 15:56:11 +01:00
Armin Novak
9eb897ea6b
Fixed a log message.
2019-01-23 15:56:11 +01:00
Armin Novak
9cdddb7722
Fixed some log messages / missing asserts.
2019-01-23 15:56:11 +01:00
Armin Novak
0cba9edc99
Implemented UWAC clipboard handling.
2019-01-23 15:54:05 +01:00
David Fort
4c465e7f16
Merge pull request #5209 from akallabeth/wayland_protocol_update_and_keyboard_inhibit
...
Wayland protocol update and keyboard inhibit support
2019-01-23 10:02:07 +01:00
Armin Novak
9a0c8a5c53
Removed unused label.
2019-01-22 18:09:53 +01:00
Armin Novak
3cd3490fd1
Fixed initialization of window decorations.
2019-01-22 17:21:09 +01:00
Armin Novak
5c422b7c93
Added KDE server side window decoration interface as fallback.
2019-01-22 17:10:32 +01:00
Armin Novak
f2fd785128
Fixed comment.
2019-01-22 16:55:46 +01:00
Armin Novak
afd4baf4dd
Added wayland server side decorations.
2019-01-22 15:45:15 +01:00
Armin Novak
81f1fb934c
Implemented keyboard shortcut inhibit support.
2019-01-22 14:27:12 +01:00
Armin Novak
0ef64f8a84
Updated fullscreen shell to current protocol level.
2019-01-22 13:09:59 +01:00
Armin Novak
7f158b97be
Update to xdg-shell stable.
2019-01-22 13:05:46 +01:00
Armin Novak
a5cee1751f
Resubmit buffer if necessary.
2019-01-18 14:39:14 +01:00
Ondrej Holy
24cdcbccc7
uwac: Do not return destroyed UwacSeat
...
This is needed to fix the following defects reported by Covscan:
use_after_free: Using freed pointer "seat".
warning: Value stored to 'seat' is never read
This is follow up for https://github.com/FreeRDP/FreeRDP/pull/4970
https://github.com/FreeRDP/FreeRDP/issues/4820
2018-12-13 09:53:59 +01:00
David Fort
b9ceb13058
uwac: handle wl_seat with version >= 7
...
Starting at version 7, the wayland client is supposed to mmap the keymap as MAP_PRIVATE
to prevent accidental or intentional modifications.
2018-12-05 15:21:00 +01:00
David Fort
0b2ea08f74
uwac: change seat API to not reference disposed UwacSeat
...
This is a false positive returned by covscan, but that doesn't hurt to fix it.
2018-10-25 15:24:29 +02:00
Armin Novak
114abad767
Removed use of strcpy.
2018-08-27 14:34:09 +02:00
Ondrej Holy
24eb53e207
uwac: Fix leak found by covscan
...
leaked_storage: Variable "data" going out of scope leaks the storage it points to.
copy_paste_error: "opaque_region" in "w->opaque_region" looks like a copy-paste error.
2018-08-22 14:34:02 +02:00
Ondrej Holy
91c398dc94
uwac: Format code by astyle
...
Run ./scripts/format_code.sh before the following changes.
2018-08-22 14:34:02 +02:00
Kyle Evans
a7c0632bf2
Use SetFreeRDPCMakeInstallDir where CMake modules are installed
2018-05-02 10:36:52 -05:00
Kyle Evans
aca530bc5b
Use shared memory instead of temp files on FreeBSD-compatible OS
2018-05-01 23:50:15 -05:00
Kyle Evans
45d8e2dfb2
Pull in libepoll-shim for the bits that require timerfd/epoll
...
libepoll-shim is our implementation of this API on top of kevent. It supplies
the same headers and a library, but we don't install it in any of the default
include search paths when it comes in through ports on an as-needed basis.
This set of changes is restricted to FREEBSD-compatible OS, which includes
DragonflyBSD and FreeBSD.
2018-05-01 23:42:25 -05:00
Michael Meyer
c01442da2d
Fixes scrolling crash in wlfreerdp
...
An "axis discrete" handler is required since protocol version 5:
https://code.woboq.org/qt5/include/wayland-client-protocol.h.html
Crash output: "listener function for opcode 8 of wl_pointer is NULL"
2017-08-16 18:02:07 +00:00
Armin Novak
8b9e3fa51e
Fixed use of reserved keywords for include guards.
2017-07-20 09:35:41 +02:00
Olivier Blin
77d8aaf97b
Implement fullscreen for wayland shell surface
2017-07-05 18:47:52 +02:00
Ilya Shipitsin
0d15573010
trivial issue found by cppcheck:
...
[uwac/libuwac/uwac-display.c:73]: (error) va_list 'args' was opened but not closed by va_end().
2017-01-25 15:48:49 +05:00
Bernhard Miklautz
bbb6bf6b43
Include major version number in library names
...
Currently it is not possible to cleanly install multiple major version
of FreeRDP concurrently as some of the development libraries (.so files)
files can conflict.
This change renames all libraries to include the major version number in
the library name to fix this limitation.
The list of changed libraries:
libwinpr-tools.so -> libwinpr-tools2.so
libwinpr.so -> libwinpr2.so
libfreerdp.so -> libfreerdp2.so
libfreerdp-client.so -> libfreerdp-client2.so
libfreerdp-shadow.so -> libfreerdp-shadow2.so
libfreerdp-server.so -> libfreerdp-server2.so
libfreerdp-shadow-subsystem.so -> libfreerdp-shadow-subsystem2.so
libuwac.so -> libuwac0.so
As the library names have changed, projects that use FreeRDP will need to
update their dependencies. -
If pkg-config or cmake find modules are used, reconfiguration might be
sufficient.
Fixes #3460
2017-01-16 11:11:58 +01:00
Norbert Federa
f71b6b46e8
fix string format specifiers
...
- fixed invalid, missing or additional arguments
- removed all type casts from arguments
- added missing (void*) typecasts for %p arguments
- use inttypes defines where appropriate
2016-12-16 13:48:43 +01:00
Armin Novak
ab733d76e5
Fixed NULL pointer dereferences.
2016-10-19 11:11:35 +02:00
David Fort
237451d167
Implement callbacks for version 5 of wl_pointer
...
This should prevent crash with compositor that implement this version.
2016-10-17 16:43:23 +02:00
Bernhard Miklautz
ddced3f3ca
Fix compiler warnings
...
clang version 3.9.1-svn281634-1~exp1 (branches/release_39)
freerdp-firerds/libfreerdp/core/channels.c:270:9: warning: returning
'const WtsApiFunctionTable *' (aka 'const struct _WtsApiFunctionTable *') from a function with
result type 'PWtsApiFunctionTable' (aka 'struct _WtsApiFunctionTable *') discards qualifiers
[-Wincompatible-pointer-types-discards-qualifiers]
return &FreeRDP_WtsApiFunctionTable;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
uwac/libuwac/uwac-display.c:502:12: warning: comparison of
unsigned enum expression < 0 is always false [-Wtautological-compare]
if (error < 0 || error >= UWAC_ERROR_LAST)
~~~~~ ^ ~
2016-10-06 13:43:15 +02:00
Armin Novak
df35c135d1
Fixed color conversion, unified GFX and updated API.
2016-10-06 13:42:58 +02:00
Hendrik Woltersdorf
8ea61fe55a
fix errors in xdg-shell-xml for protocol creation
2016-06-14 20:43:35 +02:00
Bernhard Miklautz
9e8c6c99b6
First shot on fixing over linking
...
If a target is linked against libraries with cmake
(target_link_libraries) and the libraries are not marked as PRIVATE
they are "exported" and in case a other target is linked against this
target it is also linked against *all* (not private) libraries.
Without declaring private libraries PRIVATE a lot of over linking
(linking against unneeded libraries) was done.
2016-03-29 18:14:34 +02:00
Armin Novak
86436bc4e1
Added API export for uwac.
2016-02-27 22:13:59 +01:00
Bernhard Miklautz
d5a43ddc6e
uwac: generate .pc and cmake find-module
2016-02-25 23:47:32 +01:00
Bernhard Miklautz
167907ef2e
uwac: enable library versioning
2016-02-25 23:46:56 +01:00
David FORT
2b18d25731
Added some checks
2016-02-25 00:41:19 +01:00
David FORT
0bf2faedc4
Fix compilation with out-of-tree builds
...
Generated files weren't in the include path
2016-02-23 14:09:53 +01:00
David FORT
5dcb3dfe8b
Fix compilation and detection under debian/ubuntu
2016-02-23 14:09:53 +01:00
David FORT
87d6caa69a
Integrate UWAC in to the FreeRDP source tree
...
So the wayland client can still be built without installing UWAC as a dependency.
2016-02-23 14:09:53 +01:00