aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-10tinywl: don't crash when there is no keyboardSimon Ser
Running with WLR_BACKENDS=headless, there is no keyboard device. Avoid crashes like so: ../tinywl/tinywl.c:136:2: runtime error: member access within null pointer of type 'struct wlr_keyboard' ../tinywl/tinywl.c:136:2: runtime error: member access within null pointer of type 'struct wlr_keyboard' AddressSanitizer:DEADLYSIGNAL ================================================================= ==331107==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000120 (pc 0x556ed03e4e99 bp 0x7ffce834bc10 sp 0x7ffce834bbb0 T0) ==331107==The signal is caused by a READ memory access. ==331107==Hint: address points to the zero page. #0 0x556ed03e4e99 in focus_view ../tinywl/tinywl.c:136 #1 0x556ed03eb3be in xdg_toplevel_map ../tinywl/tinywl.c:603 #2 0x7f75d6f768db in wlr_signal_emit_safe ../util/signal.c:29 #3 0x7f75d6e9cac7 in xdg_surface_role_commit ../types/xdg_shell/wlr_xdg_surface.c:315 #4 0x7f75d6eb6944 in surface_commit_state ../types/wlr_compositor.c:466 #5 0x7f75d6eb7b02 in surface_handle_commit ../types/wlr_compositor.c:523 #6 0x7f75d5714d49 (/usr/lib/libffi.so.8+0x6d49) #7 0x7f75d5714266 (/usr/lib/libffi.so.8+0x6266) #8 0x7f75d68cb322 (/usr/lib/libwayland-server.so.0+0xd322) #9 0x7f75d68c65cb (/usr/lib/libwayland-server.so.0+0x85cb) #10 0x7f75d68c91c9 in wl_event_loop_dispatch (/usr/lib/libwayland-server.so.0+0xb1c9) #11 0x7f75d68c6d36 in wl_display_run (/usr/lib/libwayland-server.so.0+0x8d36) #12 0x556ed03eef55 in main ../tinywl/tinywl.c:905 #13 0x7f75d5d2330f in __libc_start_call_main (/usr/lib/libc.so.6+0x2d30f) #14 0x7f75d5d233c0 in __libc_start_main@GLIBC_2.2.5 (/usr/lib/libc.so.6+0x2d3c0) #15 0x556ed03e46e4 in _start (/home/simon/src/wlroots/build/tinywl/tinywl+0x136e4)
2022-05-10backend/headless: allow variable refresh rateSimon Ser
Instead of waking up each 16ms to emit a frame event, arm the timer when the output is committed. This allows the headless backend to idle when nothing changes on screen, and behaves similarly to the other backends.
2022-05-10xdg-toplevel: store states on the stackKirill Primak
2022-05-09examples/layer-shell: premultiply alphaKirill Primak
2022-05-09examples/egl_common: switch rgba formatJohannes
The current ARGB2101010 has really "corase" control over the alpha. Particularily, examples/layer-shell would look really strange with certain parameters. For examples, when passing an alpha of 0.84, the box would not appear transparent at all anymore. Patched as suggested by @mstoeckl -- thank you!
2022-05-07xwayland: terminate when no client is connectedSimon Ser
Automatically shutdown Xwayland 10s after all X11 clients have gone away.
2022-05-07xwayland: add wlr_xwayland_server_options.terminate_delaySimon Ser
This allows users to specify a delay after which the Xwayland process terminates itself when there are no more X11 clients connected.
2022-05-07render/gles: add support for some 16-bpc unsigned shm formatsManuel Stoeckl
These formats require EXT_texture_norm16, which in turn needs OpenGL ES 3.1. The EXT_texture_norm16 extension does not support passing gl_internalformat = GL_RGBA to glTexImage2D, as can be done for formats available in OpenGL ES 2.0, so this commit adds a field to wlr_gles2_pixel_format to provide a more specific internalformat parameter to glTexImage2D.
2022-05-06tinywl/tinywl: clean up tinywl_output when wlr_output is gonexiaoyaobing
Add destroy event processing. Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3416
2022-05-02drm-lease-v1: skip device on wlr_drm_backend_get_non_master_fd failureSimon Ser
On some setups, wlr_drm_backend_get_non_master_fd may fail because of permission issues. Instead of exposing a bogus global, bail out. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3391
2022-05-02xcursor: check that XDG base directory path is absoluteAntonin Décimo
The spec reads: > All paths set in these environment variables must be absolute. If an > implementation encounters a relative path in any of these variables it should > consider the path invalid and ignore it. and > If $XDG_DATA_HOME is either not set or empty, a default equal to > $HOME/.local/share should be used. Testing that the path is absolute also entails that is is non-empty.
2022-05-01render/vulkan: fix undefined reference to wlr_texture_is_vkzccrs
Added the implement of wlr_texture_is_vk. Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3419
2022-04-29backend/wayland: reset active pointer on destroyKirill Primak
2022-04-28CONTRIBUTING.md: update init/finish descriptionKirill Primak
2022-04-28Revert "backend/wayland: zero out finished input devices"Simon Ser
This reverts commit 03c88b07ba64185de7183f52f5f3e4875c5c1d5d. init functions now zero out the structs.
2022-04-28Zero-initialize structs in init functionsSimon Ser
Ensures there is no field left to its previous undefined value after calling an init function.
2022-04-26util/addon: fix public includeSimon Ser
Everything in wlr/ is public and should be included via angle-bracket include directives.
2022-04-24CONTRIBUTING.md: make forks public to let the CI runtiosgz
This little note helps first-time contributors who are in doubt regarding the repo visibility.
2022-04-23xwayland: do not double free server on destroyzsugabubus
2022-04-22backend/wayland: zero out finished input devicesKirill Primak
2022-04-22backend/wayland/pointer: fix indentationKirill Primak
2022-04-22seat: Don't finish wlr_keyboard if server was never startedAlexander Orzechowski
2022-04-17Revert "Copy xcb_icccm structs into wlroots"John Lindgren
The original commit introduced a bug by transposing the order of some of the fields in xcb_size_hints_t. Since XCB ICCCM support is required now, we can just eliminate the duplicate structs. With minor changes: - Remove #ifdef HAS_XCB_ICCCM guards - Fix #includes - Fix references to local size_hints struct This reverts commit 12b9b1a4bdf00742cc510c2329c7a66c649b3ab0.
2022-04-16types/seat/wlr_seat.c: fix focused_client being null after seat_client ↵Ferdinand Bachmann
recreation
2022-04-16types/wlr_pointer_gestures_v1.c: get client from seat client instead of resourceFerdinand Bachmann
2022-04-15types/wlr_pointer_gestures_v1: null-check both focused_surface and ↵Ferdinand Bachmann
focused_client (fixes #3385)
2022-04-14scene/output-layout: fix scene destroy handlerKirill Primak
2022-04-13xdg-toplevel: don't schedule configures on state requestsKirill Primak
2022-04-13xdg-foreign-v2: treat unmapped parents as NULLKirill Primak
2022-04-13xdg-foreign-v1: treat unmapped parents as NULLKirill Primak
2022-04-13xdg-toplevel: treat unmapped parents as NULLKirill Primak
2022-04-03meson: use target_machine instead of host_machineKirill Chibisov
2022-04-01tinywl: remove outdated non-feature from README.mdKirill Primak
Now that tinywl uses wlr_scene under the hood, damage tracking comes for free.
2022-04-01tinywl: don't generate xdg-shell-protocol.cKirill Primak
It's unused, and wlroots-based compositors don't need to do this anyway.
2022-03-28meson: soversion arg should be stringKenny Levinsen
muon, a meson implementation in C, is more strict with its types and revealed this discrepancy between meson behavior and documentation.
2022-03-26xdg-activation: Deduplicate token creation codeGuido Günther
There were three places initializing a token: - wlr_xdg_activation_v1_add_token - wlr_xdg_activation_token_v1_create - activation_handle_get_activation_token The initialization of the token.destroy was missing in the first one. To prevent these functions from getting out of sync move the token creation into a common function. Fixes 4c59f7d4 ("xdg-activation: Allow to submit tokens")
2022-03-23seat: take wlr_keyboard in wlr_seat_set_keyboard()Leonardo Hernández Hernández
Signed-off-by: Leonardo Hernández Hernández <leohdz172@protonmail.com>
2022-03-23layer-shell: Make wlr_layer_surface_v1_from_resource publicGuido Günther
This allows compositors to leverage the `wl_instance_of` based type check.
2022-03-17types/wlr_touch: uniformize events nameSimon Zeni
2022-03-17types/wlr_tablet_tool: uniformize events nameSimon Zeni
2022-03-17types/wlr_tablet_pad: uniformize events nameSimon Zeni
2022-03-17types/wlr_switch: uniformize events nameSimon Zeni
2022-03-17types/wlr_keyboard: uniformize events nameSimon Zeni
2022-03-17types/wlr_pointer: uniformize events nameSimon Zeni
2022-03-17types/wlr_input_device: move width_mm and height_mm fields to wlr_tablet and ↵Simon Zeni
wlr_touch
2022-03-17types/wlr_input_device: move output_name field to wlr_pointer and wlr_touchSimon Zeni
2022-03-17backend/wayland: remove wl_seat_listener from public APISimon Zeni
2022-03-17backend/wayland: remove wlr_wl_input_deviceSimon Zeni
2022-03-17backend/wayland/tablet_v2: give wlr_tablet_* ownership to wlr_wl_seatSimon Zeni
2022-03-17backend/wayland: give wlr_touch ownership to wlr_wl_seatSimon Zeni