aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-01-23backend/libinput: populate pointer axis relative directionSimon Ser
2024-01-23seat/pointer: add support for axis_relative_direction eventSimon Ser
2024-01-23pointer: add support for axis relative directionSimon Ser
2024-01-22xdg-shell: assert that configure events carry positive or zero sizesSimon Ser
Negative values here would indicate a compositor bug. For xdg_popup, zero values are not allowed.
2024-01-22layer-shell: forbid set_size with values ≥INT32_MAXKirill Primak
2024-01-18single-pixel-buffer: send wl_buffer.releaseKirill Primak
2024-01-17security-context-v1: fix possible leaks on wl_client_create() and state ↵Kirill Primak
copying errors
2024-01-17xwayland: close pipe fds on set_cloexec() errorKirill Primak
2024-01-17backend/x11: handle touchpoint allocation failureKirill Primak
2024-01-17render/drm_format_set: fix possible leak on realloc errorKirill Primak
2024-01-17render/vulkan: fix possible double freeKirill Primak
2024-01-17keyboard: fix type of wlr_keyboard_modifiers.groupIsaac Freund
This isn't a breaking change since both of these typedefs are uint32_t but this should make things a bit less confusing for readers.
2024-01-09tinywl: depend on the server xdg-shell headerKirill Primak
2024-01-07fix outdated comment in wlr_output.hMaxVerevkin
2024-01-04Fix bool return typesSimon Ser
This makes wlroots build in C23 mode. C23 is more strict and rejects implicit conversions from bool to a pointer.
2024-01-03render: stop auto-creating wl_drmSimon Ser
wl_drm is a legacy interface superseded by the linux-dmabuf protocol. All clients should migrate. As a first step, stop creating the wl_drm global by default. This should let us discover any remaining issues in clients. Compositors can still manually create the global if they want to. As a second step, we can completely drop our implementation.
2024-01-03wl_drm: add deprecation noticeSimon Ser
2024-01-03region: add docs for wlr_region_scale_xy() and wlr_region_confine()Simon Ser
2023-12-30backend/drm: save current refresh rateSimon Ser
wlr_output.refresh is populated by core wlr_output, and thus will be zero for a custom mode with an unset refresh rate. Save the refresh rate from the drmModeModeInfo in wlr_drm_connector instead. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3791
2023-12-27scene: drop wlr_scene_set_presentation()Simon Ser
2023-12-27presentation-time: drop wlr_presentation argSimon Ser
There can only be a single presentation-time global advertised to clients, this it's unnecessary to pass around the wlr_presentation pointer.
2023-12-25tearing-control-v1: synchronize state with surfaceSimon Ser
2023-12-25session-lock-v1: use wlr_surface_syncedSimon Ser
2023-12-25session-lock-v1: drop negative buffer size checksSimon Ser
The buffer size will never be negative, and the negative checks are distracting from the real checks here.
2023-12-25content-type-v1: use wlr_surface_syncedSimon Ser
2023-12-25pointer-constraints-v1: use wlr_surface_syncedSimon Ser
2023-12-25layer-shell-v1: use wlr_surface_syncedSimon Ser
2023-12-25xdg-decoration: use wlr_surface_synced for toplevelSimon Ser
2023-12-25subcompositor: use wlr_surface_syncedSimon Ser
2023-12-25presentation-time: use wlr_surface_syncedSimon Ser
2023-12-25xdg-shell: use wlr_surface_synced for popupsSimon Ser
2023-12-25xdg-shell: use wlr_surface_synced for toplevelSimon Ser
2023-12-25xdg-shell: use wlr_surface_synced for wlr_xdg_surfaceSimon Ser
2023-12-25compositor: add wlr_surface_role.client_commitSimon Ser
2023-12-25compositor: add wlr_surface_syncedSimon Ser
A lot of protocols extend the wl_surface state. Such protocols need to synchronize their extended state with wl_surface.commit and cached states. Add a new utility for this purpose.
2023-12-25compositor: add wlr_surface_state_has_buffer()Simon Ser
2023-12-25compositor: fix wlr_surface_has_buffer() doc commentSimon Ser
The function does not check whether the upload succeeded: it does not check the wlr_client_buffer.
2023-12-25compositor: remove unnecessary wlr_surface.has_bufferSimon Ser
No need to store this bit, we can infer it from buffer_width and buffer_height.
2023-12-25compositor: adjust surface_state_move() commentSimon Ser
2023-12-25pointer-constraints-v1: reset committed on commitSimon Ser
Knowing which fields changed in the last commit is more useful than knowing which fields were ever set on the surface.
2023-12-25pointer-constraints-v1: add cursor_hint.enabledSimon Ser
This allows compositors to check whether the cursor hint is set.
2023-12-25compositor: reset wlr_surface.current.committed on commitSimon Ser
Knowing which fields changed in the last commit is more useful than knowing which fields were ever set on the surface.
2023-12-21backend: fix build against upcoming `gcc-14` (`-Werror=calloc-transposed-args`)Sergei Trofimovich
`gcc-14` added a new `-Wcalloc-transposed-args` warning recently. It detected minor infelicity in `calloc()` API usage in `wlroots`: ../backend/libinput/tablet_pad.c: In function 'add_pad_group_from_libinput': ../backend/libinput/tablet_pad.c:36:38: error: 'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args] 36 | group->rings = calloc(sizeof(unsigned int), group->ring_count); | ^~~~~~~~ ../backend/libinput/tablet_pad.c:36:38: note: earlier argument should specify number of elements, later size of each element
2023-12-21output-layout: fix missing global for outputs with a custom modeSimon Ser
Before we were populating wlr_output.current_mode with a generated fixed mode when a custom mode was committed in the DRM backend. But that's no longer the case: now a custom mode behaves the same under the DRM backend and other backends. wlr_output_layout was still assuming that an output without a current_mode was disabled. Fix that assumption. Fixes: 5567aefb1c56 ("backend/drm: Don't add pollute fixed modes list with custom modes") Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3743
2023-12-18input-method: Simplify resetting of input stateGuido Günther
We have current and pending state and the code uses struct assignments between them and resets and frees in multiple places. Introduce a reset() function so we can unify that.
2023-12-18input-method-v2: validate commit serialpastel raschke
2023-12-18input-method-v2: free current strings on commitpastel raschke
2023-12-18input-method-v2: drop unnecessary variable and castSimon Ser
2023-12-12xcursor: fix duplicate cursor check check in load_callback()Simon Ser
wlr_xcursor_theme_get_cursor() now does some fallback logic. We don't want that for checking whether a cursor has already been loaded. Fixes: dbedcdb418f4 ("xcursor: add fallbacks for legacy names") Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3783
2023-12-12cursor: drop unnecessary commented codeSimon Ser
This is unused.