xiaoyaobing
cb012c5cb5
tinywl/tinywl: clean up tinywl_output when wlr_output is gone
...
Add destroy event processing.
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3416
2022-05-06 20:05:17 +03:00
Simon Ser
410c08cdc6
drm-lease-v1: skip device on wlr_drm_backend_get_non_master_fd failure
...
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-02 15:44:16 +00:00
Antonin Décimo
95d3529edf
xcursor: check that XDG base directory path is absolute
...
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-02 15:15:24 +02:00
zccrs
48c811ffb6
render/vulkan: fix undefined reference to wlr_texture_is_vk
...
Added the implement of wlr_texture_is_vk.
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3419
2022-05-01 14:46:18 +08:00
ptrcnull
56502be1d1
backend/x11: prevent segfault on empty DRI3 response
2022-05-01 06:13:58 +02:00
Simon Ser
44069dfd5e
output-layer: add cropping support
...
Add a src_box state field. Use the SRC_* KMS props in the DRM
backend, reject the layers in the Wayland backend (for now, we can
support it later via viewporter).
2023-04-20 10:39:46 +02:00
Simon Ser
d795824346
render/vulkan: fix signedness of strcmp() return value
...
strcmp() returns a signed integer.
2023-04-19 15:29:53 +02:00
Simon Ser
62e60ba889
render/vulkan: use initializer in vulkan_change_layout_queue()
2023-04-19 15:29:26 +02:00
Simon Ser
74e8fd8a9a
render/vulkan: remove extra newline
2023-04-19 15:29:11 +02:00
Simon Ser
92b726ef67
render/vulkan: use full names for extension command fields
...
This makes grepping much easier.
2023-04-18 15:58:55 +00:00
Simon Ser
25d9055281
xcursor: sync with libwayland
...
xcursor.c was copied over from libwayland-cursor. A lot of
cosmetic imporvements have been merged upstream. Copy-paste the
new version.
2023-04-18 14:54:25 +00:00
Andri Yngvason
00489b11a0
seat: Provide dummy resources for inert seats
2023-04-18 08:29:30 +00:00
Andri Yngvason
3898bb482d
seat: Let client manage its own resources
...
This makes seat_client resources inert when seats and/or input devices are
destroyed, rather than destroying the resources.
When the client calls e.g. wl_keyboard_release(), it's not expecting the
keyboard global to be already destroyed, so this results in an error such
as this:
wl_display@1: error 0: invalid object 22
2023-04-18 08:29:30 +00:00
Andri Yngvason
1689a3503b
wlr_seat: Extract seat_client_create() function
2023-04-18 08:29:30 +00:00
Alexander Orzechowski
eac2eaa6a9
wlr_scene: Fix potential use-after-free in wlr_scene_buffer_set_buffer
...
Fixes : #3636
2023-04-16 14:01:54 +02:00
Alexander Orzechowski
39be67df46
wlr_scene: Send presentation event before direct scanout output commit
...
We were doing it too late before and surfaces were never getting
the presentation event.
2023-04-14 22:29:24 +02:00
Simon Ser
dae2deb3c9
compositor: add wlr_surface_set_preferred_buffer_transform()
...
References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/220
2023-04-14 17:07:26 +02:00
Simon Ser
42edd36785
compositor: add wlr_surface_set_preferred_buffer_scale()
...
References: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/220
2023-04-14 17:07:26 +02:00
Simon Ser
0bb574239d
compositor: pass version in wlr_compositor_create
...
This allows wlroots to support newer versions of the interface
without breaking the API.
2023-04-14 17:07:26 +02:00
Kirill Primak
87e7584dd4
compositor: use defunct_role_object error
2023-04-14 17:04:00 +02:00
Kirill Primak
fac7a5cc9d
subcompositor: use bad_parent error
2023-04-14 17:00:17 +02:00
Kirill Primak
49435cb27b
subcompositor: simplify get_subsurface handler
2023-04-14 16:59:55 +02:00
Manuel Stoeckl
40dde59475
render/gles2: use byte-aligned rows for glReadPixels
...
Setting the GLESv2 parameter GL_PACK_ALIGNMENT to 1 ensures that the
stride of the glReadPixels output matches the value computed in
`pack_stride`. Since the default value of GL_PACK_ALIGNMENT is 4, this
does not make a difference under normal use; but without this patch
the stride can be incorrect; for example, with RGB565 buffers and
screenshots of regions with odd width.
2023-04-12 14:04:25 +00:00
Simon Ser
9affcaa93c
xcursor: adjust style, use calloc()
...
Adjust the code style for wlroots, and use calloc() for structs.
2023-04-11 20:05:27 +02:00
Alexander Orzechowski
b1e38fc7ea
output: Drop output_is_direct_scanout
2023-04-06 22:39:08 +02:00
Simon Ser
9ef98452a3
output-damage: drop
...
Compositors can migrate to wlr_damage_ring.
2023-04-06 20:34:30 +00:00
Simon Ser
7abda952d0
output: drop direct scan-out check in output_basic_test()
...
wlr_output is not well-suited to checking whether direct scan-out
is happening or not. Compositors may want to use their own external
swapchains, for instance.
Additionally, ab7eabac84 ("output: leverage
wlr_output_configure_primary_swapchain()") makes it so
output_basic_test() is called before the output swapchain is
initialized, resulting in false positives.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3620
2023-04-06 21:46:45 +02:00
Simon Ser
ec5135cb09
scene: check wlr_output_is_direct_scanout_allowed()
2023-04-06 21:43:43 +02:00
Simon Ser
079ff9e6fb
output: add wlr_output_is_direct_scanout_allowed()
...
This lets compositors check whether direct scan-out is possible.
Compositors will soon be responsible for manually calling this
function.
2023-04-06 21:42:08 +02:00
Simon Ser
835208db98
output-layer: add support for scaling buffers
...
This allows callers to set a destination size different from the
buffer size to scale them.
The DRM backend supports this. The Wayland backend doesn't yet
(we'd need to wire up viewporter).
2023-04-04 19:39:38 +02:00
Kirill Primak
bc4350c976
backend/wayland: reset active pointer on destroy
2022-04-29 21:55:04 +03:00
Kirill Primak
ec2af17674
CONTRIBUTING.md: update init/finish description
2022-04-28 08:30:26 +00:00
Simon Ser
a1e1e9aba8
Revert "backend/wayland: zero out finished input devices"
...
This reverts commit 03c88b07ba .
init functions now zero out the structs.
2022-04-28 10:09:50 +02:00
Simon Ser
6c350799b2
Zero-initialize structs in init functions
...
Ensures there is no field left to its previous undefined value after
calling an init function.
2022-04-28 10:09:50 +02:00
Simon Ser
54653b5d95
util/addon: fix public include
...
Everything in wlr/ is public and should be included via angle-bracket
include directives.
2022-04-26 09:43:10 +02:00
tiosgz
c091a07589
CONTRIBUTING.md: make forks public to let the CI run
...
This little note helps first-time contributors who are in doubt regarding the
repo visibility.
2022-04-24 17:07:04 +00:00
zsugabubus
91da4c557b
xwayland: do not double free server on destroy
2022-04-23 08:08:33 +00:00
Kirill Primak
03c88b07ba
backend/wayland: zero out finished input devices
2022-04-22 17:51:24 +00:00
Kirill Primak
a43d105a50
backend/wayland/pointer: fix indentation
2022-04-22 17:51:24 +00:00
Alexander Orzechowski
2ce0305483
seat: Don't finish wlr_keyboard if server was never started
2022-04-22 01:49:58 +00:00
John Lindgren
640f3b9f21
Revert "Copy xcb_icccm structs into wlroots"
...
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 12b9b1a4bd .
2022-04-17 14:44:52 +00:00
Ferdinand Bachmann
d3a2ea33e5
types/seat/wlr_seat.c: fix focused_client being null after seat_client recreation
2022-04-16 20:56:30 +02:00
Ferdinand Bachmann
2d4e813530
types/wlr_pointer_gestures_v1.c: get client from seat client instead of resource
2022-04-16 20:53:52 +02:00
Ferdinand Bachmann
eedb9df531
types/wlr_pointer_gestures_v1: null-check both focused_surface and focused_client
...
(fixes #3385 )
2022-04-15 16:06:16 +02:00
Kirill Primak
4ba8458255
scene/output-layout: fix scene destroy handler
2022-04-14 06:51:39 +00:00
Kirill Primak
dec2565f2b
xdg-toplevel: don't schedule configures on state requests
2022-04-13 17:00:06 +00:00
Kirill Primak
04aa44b4df
xdg-foreign-v2: treat unmapped parents as NULL
2022-04-13 16:48:15 +00:00
Kirill Primak
dac040f87f
xdg-foreign-v1: treat unmapped parents as NULL
2022-04-13 16:48:15 +00:00
Kirill Primak
bf3f60ff73
xdg-toplevel: treat unmapped parents as NULL
2022-04-13 16:48:15 +00:00
Kirill Chibisov
2e14bed9f7
meson: use target_machine instead of host_machine
2022-04-03 11:46:25 +00:00