aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* egl: fix typo "Backards"Maxime Roussin-Bélanger2020-12-171-6/+6
|
* cursor: fix typo "insufficent"Maxime Roussin-Bélanger2020-12-171-1/+1
|
* CONTRIBUTING: fix typo "excercising"Maxime Roussin-Bélanger2020-12-171-1/+1
|
* tests: fix typosMaxime Roussin-Bélanger2020-12-172-2/+2
|
* doc: fix typosMaxime Roussin-Bélanger2020-12-174-6/+6
|
* protocol: deprecate non-current wl_output.modeSimon Ser2020-10-291-0/+4
| | | | | | | | | | | | | | | | | | | | | The current wl_output.mode event has several issues when used to advertise modes that aren't current: - It's not possible to remove some modes. This is an issue for virtual outputs and when the kernel prunes some modes because of link limitations. - wl_output.mode fails to carry metadata such as aspect ratio, which results in duplicated or missing modes. - It's not clear, given the current set of protocols, how non-current modes are useful to clients. Xwayland ignores non-current modes. GNOME and wlroots already only advertise the current mode because of these issues. If a protocol needs the clients to know about all available modes, it should advertise these modes itself instead of relying on wl_output.mode. Signed-off-by: Simon Ser <contact@emersion.fr> Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/92
* protocol: make it clear wl_surface.enter/leave are not for frame throttlingSimon Ser2020-10-291-0/+6
| | | | | | | | | | | | | | | | | Some clients rely on wl_surface.enter/leave to start/stop their rendering loop. There are cases where this doesn't work: - Some compositors don't send wl_surface.leave when a toplevel is hidden. For instance Sway doesn't send this event when a toplevel is on an inactive workspace (but doesn't send wl_surface.frame events). - Some compositors might still want applications to continue to render even if away from outputs. For instance a compositor that allows to screen record individual toplevels might not send a wl_surface.enter event for hidden toplevels. Signed-off-by: Simon Ser <contact@emersion.fr>
* cursor/convert_font.c: malloc cannot guarantee that the memory allocated is ↵ganjing2020-10-291-0/+5
| | | | always successful
* doc: make reproducibleAlyssa Ross2020-10-291-0/+1
| | | | | | | This setting makes Docbook section IDs consistent, and should allow Wayland builds that include documentation to be fully reproducible. Signed-off-by: Alyssa Ross <hi@alyssa.is>
* protocol: Clarify how clients can cancel a drag operationNick Diego Yamane2020-10-291-1/+2
| | | | | | | | | | Explicitly say that destroying a wl_data_source previously used in a wl_data_device::start_drag request will cancel the DND session. This is currently the only way to do it from client side (besides those "indirect" ones already documented) and all compositors work like that but it is not clear spec-wise it is the expected behaviour. Signed-off-by: Nick Diego Yamane <nickdiego@igalia.com>
* Fix undefined behaviorValentin2020-09-041-4/+5
| | | | | | | | Without the casts the bytes accesses get converted to int. but int is not guaranteed to be 4 bytes large. Even when it is 4 bytes large `bytes[3] << 24` does not fit because int is signed. Signed-off-by: Valentin Kettner <vakevk@gmail.com>
* Use fixed size integer typeValentin2020-09-041-1/+3
| | | | | | | | This type is meant to be 4 bytes large as seen in _XcursorReadUInt which always reads 4 bytes. An unsigned int is often 4 bytes large but this isnt' guaranteed so it is cleaner to use the exact type we want. Signed-off-by: Valentin Kettner <vakevk@gmail.com>
* Add a basic gitlab issue templatePeter Hutterer2020-08-181-0/+8
| | | | | | | | | | | This makes the Bug template available in the new issues form. Ideally a majority of users will select this template and then realize that they're in the wrong repo. Making this a default is a feature of the enterprise gitlab version only, see https://docs.gitlab.com/ce/user/project/description_templates.html#overview Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* protocol: Minor gramatical fix.Christopher James Halse Rogers2020-08-141-1/+1
| | | | Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
* protocol: disambiguate key codes in wl_keyboard.keySimon Ser2020-06-161-0/+3
| | | | | | | | | | | Explain that wl_keyboard.key yields platform-specific key codes. Some compositors use Linux key codes (defined in the linux/input-event-codes.h header file, e.g. KEY_ESC), however clients should not assume that this is always the case. The only reliable way for clients to interpret key codes is to feed them into a keyboard mapping. Signed-off-by: Simon Ser <contact@emersion.fr>
* Clarify clients behavior on wl_keyboard.leaveKirill Chibisov2020-06-121-0/+3
| | | | | | | | | Clients must assume that every key, including modifiers, are lifted after getting wl_keyboard.leave event, not doing so could lead to key repeat keep going after the user changes focus, or stuck modifiers, when the user interacts with client without keyboard focus. Signed-off-by: Kirill Chibisov <contact@kchibisov.com>
* Clarify the order of wl_keyboard.modifiersKirill Chibisov2020-06-121-0/+6
| | | | | | | | | | | | | | | | Consider that we set the modifier for the modifier key as well, and that you have the option to change your layout when both shifts pressed. This realized by making the shift keys produce 'Group_switch' when you press the shift key and the shift modifier is already active. So sending modifier before the key event will result in 'Group_switch' each time you press shift. That being said, the order of modifiers should be updated after the key/enter event, so it'll only affect future keypresses, not the current one. See: https://lists.x.org/archives/xorg-devel/2014-July/043110.html Signed-off-by: Kirill Chibisov <contact@kchibisov.com>
* doc: Document libwayland-cursor with mesonEmmanuel Gil Peyrot2020-06-052-1/+12
| | | | Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
* doc: Document libwayland-cursor with autotoolsEmmanuel Gil Peyrot2020-06-051-1/+10
| | | | Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
* cursor: Properly document wl_cursor_image and wl_cursorEmmanuel Gil Peyrot2020-06-051-5/+24
| | | | Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
* cursor: Use spaces for alignment in the headerEmmanuel Gil Peyrot2020-06-051-5/+5
| | | | Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
* protocol: add seat missing_capability errorSimon Ser2020-06-051-3/+14
| | | | | | | | | | | | The protocol says: > It is a protocol violation to issue this request on a seat that > has never had the pointer capability. But never defines an error code. Signed-off-by: Simon Ser <contact@emersion.fr> Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/165
* gitlab CI: update to use the fdo ci templatesPeter Hutterer2020-06-051-10/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of building a new debian image every time we build the repo, let's build it once and re-use it. This way we're more likely to spot actual bugs vs issues with the distribution (or mirrors). This is the same approach mesa, gstreamer, libinput, etc. already use. The pipeline consists of two parts: container-build and distribution-image. Both use the FDO_DISTRIBUTION_... variables to do their thing, the former to build an image, the latter to use that image. The container-build step is a noop if an image with that tag already exists in the registry, the templates take care of all that. The .debian.buster section groups the variables needed to easily extend all jobs requiring buster. Not all variables are used by all jobs but meh. The grouping is slightly odd because some debian-specific variables are in the global variables and others in the .debian.buster section. This grouping will make things easier if we extend to build on other distributions - then we have all packages and tags in one place. Because buster doesn't have a recent-enough version of meson, we install that from pip. Fixes #79 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* editorconfig: add settings for the .gitlab-ci.yml filePeter Hutterer2020-06-051-0/+5
| | | | | | | | Different indentation and we don't want a fixed line length here, wrapping yaml is prone to introduce bugs. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* doc: fix and clarify pointer image behaviourYann Dirson2020-06-031-4/+8
| | | | Signed-off-by: Yann Dirson <ydirson@free.fr>
* Replace initial 8 spaces with a tab for all xml filesPeter Hutterer2020-04-2910-44/+44
| | | | | | | | | This is the style used in wayland.xml which is the only file we really care about for git blame information. So let's adjust all others to that style for consistency and fix editorconfig to avoid messing this up in the future. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* scanner: Guard interface declarationsGuido Günther2020-04-237-0/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows to include client and server headers in the same file fixing warnings like In file included from ../subprojects/wlroots/include/wlr/types/wlr_layer_shell_v1.h:16, from ../src/desktop.h:16, from ../src/server.h:13, from ../tests/testlib.c:8: tests/59830eb@@footest@sta/wlr-layer-shell-unstable-v1-protocol.h:80:34: warning: redundant redeclaration of ‘zwlr_layer_shell_v1_interface’ [-Wredundant-decls] 80 | extern const struct wl_interface zwlr_layer_shell_v1_interface; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../tests/testlib.h:8, from ../tests/testlib.c:7: tests/59830eb@@footest@sta/wlr-layer-shell-unstable-v1-client-protocol.h:77:34: note: previous declaration of ‘zwlr_layer_shell_v1_interface’ was here 77 | extern const struct wl_interface zwlr_layer_shell_v1_interface; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../subprojects/wlroots/include/wlr/types/wlr_layer_shell_v1.h:16, from ../src/desktop.h:16, from ../src/server.h:13, from ../tests/testlib.c:8: tests/59830eb@@footest@sta/wlr-layer-shell-unstable-v1-protocol.h:106:34: warning: redundant redeclaration of ‘zwlr_layer_surface_v1_interface’ [-Wredundant-decls] 106 | extern const struct wl_interface zwlr_layer_surface_v1_interface; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../tests/testlib.h:8, from ../tests/testlib.c:7: tests/59830eb@@footest@sta/wlr-layer-shell-unstable-v1-client-protocol.h:103:34: note: previous declaration of ‘zwlr_layer_surface_v1_interface’ was here 103 | extern const struct wl_interface zwlr_layer_surface_v1_interface; Signed-off-by: Guido Günther <agx@sigxcpu.org> Closes: #158
* doc/man: remove manually written man pagesSimon Ser2020-04-167-211/+1
| | | | | | | | | There is only one page written. Having manually-written man pages duplicates information with doc comments. Besides, man pages are already generated by Doxygen. Signed-off-by: Simon Ser <contact@emersion.fr> Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/156
* client: improve wl_display_connect docsSimon Ser2020-04-161-0/+7
| | | | | | | Add a paragraph about WAYLAND_SOCKET and describe what happens when the display name is a relative path. Signed-off-by: Simon Ser <contact@emersion.fr>
* README with upadated compile instructionsRicardo Quesada2020-04-071-3/+2
| | | | | | | This commit updates the README build & install instructions. It replaces that obsolete "autogen && make" with "meson && ninja" Signed-off-by: Ricardo Quesada <ricardoquesada@gmail.com>
* meson: Deduplicate generation of wayland-version.hMatt Turner2020-03-181-17/+8
| | | | Signed-off-by: Matt Turner <mattst88@gmail.com>
* meson: Raise requirement to meson >= 0.52.1Matt Turner2020-03-181-1/+1
| | | | | | | Many new and valuable features were added between Meson 0.49 and 0.52.1. We would like to use some of them. Signed-off-by: Matt Turner <mattst88@gmail.com>
* .gitlab-ci.yml: Switch from Stretch to BusterMatt Turner2020-03-181-3/+3
| | | | | | | | | Stretch is old-stable and will reach end of life this year. buster-backports has newer Meson available, so switching to Buster will allow us to bump the Meson requirements. Signed-off-by: Matt Turner <mattst88@gmail.com>
* meson: Add option to control building wayland-scannerMatt Turner2020-03-134-58/+80
| | | | | | | | | | | | | | | | | | | | | | | Wayland requires a binary, wayland-scanner, to be run during the build process. For any configuration other than native builds (including cross compiling and even 32-bit x86 builds on an x86-64 build machine) Wayland's build process builds and uses its own wayland-scanner. For any builds using a cross file, wayland-scanner is built for the host machine and therefore cannot be executed during the build of the Wayland libraries. Instead builds using a cross file must execute the build machine's wayland-scanner (typically /usr/bin/wayland-scanner). As such, to build Wayland's libraries for a non-native ABI a package manager must build and install /usr/bin/wayland-scanner first. But then the build for the native ABI then rebuilds wayland-scanner itself and doesn't use the system's, and worse, wants to install its own, which conflicts with the /usr/bin/wayland-scanner already installed! So, add the -Dscanner=... option to control whether to install wayland-scanner. Signed-off-by: Matt Turner <mattst88@gmail.com>
* meson: Require wayland-scanner of a matching versionMatt Turner2020-03-091-1/+1
| | | | | | | | | | | We have always built libwayland with the scanner from the same build so that the generated code and installed headers are exactly up-to-date with the libwayland version. If libwayland was to use a scanner later than itself, the scanner might do things that are not available in the libwayland at hand, leading to a broken build or a broken library (headers). Signed-off-by: Matt Turner <mattst88@gmail.com>
* protocol: add invalid_size error to wl_surfaceSimon Ser2020-03-051-2/+4
| | | | | | | | | This allows the compositor to send an error when the client submits a buffer whose size is not divisible by the buffer scale. Previously, the protocol said it was a client error but didn't specify any error code. Signed-off-by: Simon Ser <contact@emersion.fr> Closes: https://gitlab.freedesktop.org/wayland/wayland/issues/145
* util: fix compiler warningTomek Bury2020-02-241-1/+1
| | | | | conversion to 'wl_fixed_t {aka int}' from 'int64_t {aka long int}' may alter its value [-Werror=conversion]
* cursor/os-compatibility: move resizing into a separate functionJan Beich2020-02-233-24/+21
| | | | Signed-off-by: Jan Beich <jbeich@FreeBSD.org>
* cursor: ignore posix_fallocate in shm_pool_resize if not supported by FSJan Beich2020-02-231-4/+8
| | | | Signed-off-by: Jan Beich <jbeich@FreeBSD.org>
* cursor: posix_fallocate may fail with EINVAL if not supportedJan Beich2020-02-231-3/+3
| | | | | | | ZFS on FreeBSD >= 12.0 returns EINVAL, see https://svnweb.freebsd.org/changeset/base/325320 Signed-off-by: Jan Beich <jbeich@FreeBSD.org>
* meson/tests: add missing dependencies on protocol headersJan Beich2020-02-151-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In file included from ../tests/connection-test.c:43: In file included from ../tests/test-compositor.h:30: ../src/wayland-client.h:40:10: fatal error: 'wayland-client-protocol.h' file not found #include "wayland-client-protocol.h" ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../tests/display-test.c:45: In file included from ../src/wayland-server.h:104: src/wayland-server-protocol.h:4454:2: error: unterminated /* comment /** ^ In file included from ../tests/cpp-compile-test.cpp:2: In file included from src/wayland-server-protocol.h:8: In file included from ../src/wayland-server.h:104: src/wayland-server-protocol.h:3:2: error: unterminated conditional directive #ifndef WAYLAND_SERVER_PROTOCOL_H ^ ../tests/headers-protocol-test.c:33:2: error: including wayland-server-protocol.h did not include wayland-server.h! #error including wayland-server-protocol.h did not include wayland-server.h! ^ In file included from ../tests/headers-protocol-test.c:26: In file included from src/wayland-client-protocol.h:8: In file included from ../src/wayland-client.h:40: src/wayland-client-protocol.h:1358:2: error: unterminated conditional directive #ifndef WL_SHM_FORMAT_ENUM ^ In file included from ../tests/protocol-logger-test.c:34: In file included from ../src/wayland-client.h:40: src/wayland-client-protocol.h:2613:1: error: unterminated /* comment /** ^ ../tests/resources-test.c:49:36: error: use of undeclared identifier 'wl_seat_interface' res = wl_resource_create(client, &wl_seat_interface, 4, 0); ^
* build: re-open master for regular developmentSimon Ser2020-02-122-2/+2
|
* build: bump to version 1.18.0 for the official release1.18.0Simon Ser2020-02-122-3/+3
|
* build: bump to version 1.17.93 for the RC1 release1.17.93Simon Ser2020-02-052-2/+2
|
* autotools: add Meson files to EXTRA_DISTSimon Ser2020-02-041-1/+17
| | | | | | | | This allows users to build Wayland with Meson from an autotools-generated release tarball. Signed-off-by: Simon Ser <contact@emersion.fr> Closes: https://gitlab.freedesktop.org/wayland/wayland/issues/141
* build: bump to version 1.17.92 for the beta release1.17.92Simon Ser2020-01-282-2/+2
|
* tests: fix memory leak in proxy-testSimon Ser2020-01-281-0/+1
| | | | | | | | | | | | | | | | | | | | | When running tests with ASan, proxy-test fails at the proxy_tag test: ==27843==ERROR: LeakSanitizer: detected memory leaks Direct leak of 32 byte(s) in 1 object(s) allocated from: #0 0x7f65a732dada in __interceptor_malloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:144 #1 0x7f65a71cb3ea in wl_display_add_protocol_logger src/wayland-server.c:1813 #2 0x557c640c0980 in proxy_tag tests/proxy-test.c:104 #3 0x557c640c1159 in run_test tests/test-runner.c:153 #4 0x557c640c1e2e in main tests/test-runner.c:337 #5 0x7f65a6ea0ee2 in __libc_start_main (/usr/lib/libc.so.6+0x26ee2) SUMMARY: AddressSanitizer: 32 byte(s) leaked in 1 allocation(s). Destroying the logger fixes the leak. Signed-off-by: Simon Ser <contact@emersion.fr> Fixes: 493ab79bd2cd ("proxy: Add API to tag proxy objects")
* os: fallback for unsupported posix_fallocateIhor Antonov2020-01-231-3/+8
| | | | | | | | | | | | | | | Some filesystems do not support fallocate and return EOPNOTSUPP. On musl-based distros libwayland-cursor exits abruptly which causes the application to crash. Unlike glibc, musl does not provide a fallback mechanism for handling unsupported fallocate. Instead, musl developers argue that application should handle the case of unsupported system call. This commit allows falback to ftruncate in case when EOPNOTSUPP was recieved. Signed-off-by: Ihor Antonov <ihor@antonovs.family>
* Remove unused HAVE_CONFIG_H define in mesonEmmanuel Gil Peyrot2020-01-221-2/+0
| | | | Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
* build: bump to version 1.17.91 for the alpha release1.17.91Simon Ser2020-01-212-2/+2
|