Simon Zeni
7dc4a3ecd7
interface/wlr_keyboard: rework destroy sequence
...
The destroy member in wlr_keyboard_impl has been removed. The function
`wlr_keyboard_finish` has been introduce to clean up the resources owned by a
wlr_keyboard.
`wlr_input_device_destroy` no longer destroys the wlr_keyboard, attempting to
destroy a wlr_keyboard will result in a no-op.
The field `name` has been added to the wlr_keyboard_impl to be able to identify
a given wlr_keyboard device.
2022-03-07 16:37:41 +00:00
Simon Ser
39b68ea47a
buffer: extract interface to separate header
...
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3389
2022-03-03 15:39:05 +01:00
Simon Zeni
d0718a9b32
backend/libinput: public API cleanup
2022-03-02 18:18:05 +00:00
Simon Zeni
0d21496e53
backend/libinput: rework tablet_pad interface
...
The wlr_libinput_input_device now owns its wlr_tablet_pad, instead of creating
a new wlr_libinput_input_device for it.
2022-03-02 18:18:05 +00:00
Simon Zeni
c8456086a1
backend/libinput: rework tablet interface
...
The wlr_libinput_device owns its wlr_tablet and its associated wlr_tablet_tools
2022-03-02 18:18:05 +00:00
Simon Zeni
4f4dd95223
backend/libinput: rework touch interface
...
The wlr_libinput_input_device now owns its wlr_touch, instead of creating
a new wlr_libinput_input_device for it.
2022-03-02 18:18:05 +00:00
Simon Zeni
d750c5ac67
backend/libinput: rework switch interface
...
The wlr_libinput_input_device now owns its wlr_switch, instead of creating
a new wlr_libinput_input_device for it.
2022-03-02 18:18:05 +00:00
Simon Zeni
d60cdad3ea
backend/libinput: rework pointer interface
...
The wlr_libinput_input_device now owns its wlr_pointer, instead of creating
a new wlr_libinput_input_device for it
2022-03-02 18:18:05 +00:00
Simon Zeni
5eefda1ffe
backend/libinput: rework keyboard interface
...
The wlr_libinput_input_device now owns its wlr_keyboard, instead of creating
a new wlr_libinput_input_device for it.
2022-03-02 18:18:05 +00:00
Simon Zeni
9dd6e2b905
backend/libinput: add devices wl_list
...
This commit prepares the ground for a wlr_libinput_input_device refactoring.
2022-03-02 18:18:05 +00:00
Guido Günther
0a5a65cf48
examples/input-method: Don't crash on NULL surrounding text
...
E.g. With e.g. gnome-terminal we never end up in handle_surrouding
so it will be NULL.
2022-03-02 14:28:58 +00:00
Dominique Martinet
4741e9d841
Xwayland: use -displayfd instead of USR1
...
Using Xwayland -displayfd means we don't need to worry about handling
SIGUSR1 to second guess when Xwayland is ready and write to the pipe:
just let it do that write when it would be sending SIGUSR1 otherwise.
Closes : #3356
2022-03-02 14:25:21 +00:00
Dominique Martinet
1666e377e2
Xwayland: rename notify pipe 'p' to notify_fd
2022-03-02 14:25:21 +00:00
Simon Zeni
c84744321e
types/wlr_virtual_pointer_v1: fix wlr_pointer destroy sequence
2022-02-28 22:02:57 +00:00
Simon Zeni
cdb3e80b39
types/wlr_virtual_keyboard_v1: fix wlr_keyboard destroy sequence
2022-02-28 22:02:57 +00:00
Roman Gilg
17a289e36e
render: allow texture creation while rendering
...
This removes an artificial limitation in form of an assert that disallowed the
creation of textures while the renderer is rendering.
A consumer might run its own rendering pipeline and after start of the renderer
still want to create textures for internal usage.
2022-02-28 13:06:11 +01:00
Simon Zeni
e279266f71
interfaces: remove wlr_input_device_impl
2022-02-22 14:23:46 -05:00
Simon Zeni
91ba28e020
backend/libinput: remove wlr_input_device_impl
2022-02-21 16:48:43 -05:00
Simon Zeni
887516d004
backend/wayland: remove wlr_input_device_impl
2022-02-21 16:48:43 -05:00
Simon Zeni
19f7e5d2b4
backend/x11: remove wlr_input_device_impl
2022-02-21 13:53:40 -05:00
Simon Zeni
1acc931cf0
types/wlr_switch: constify impl
2022-02-21 13:53:40 -05:00
Simon Zeni
f1181c34ed
types/wlr_tablet_pad: constify impl
2022-02-21 13:53:40 -05:00
Kirill Primak
511f137f8f
xdg-positioner: rewrite unconstraining, untie from xdg-popup
2022-02-21 17:26:51 +00:00
Kirill Primak
5879e77d68
xdg-positioner: rename structs
...
To be consistent with other wlr_xdg_* structs,
wlr_xdg_positioner_resource is renamed to wlr_xdg_positioner and made
public, and wlr_xdg_positioner is renamed to wlr_xdg_positioner_rules.
Functions which operated on wlr_xdg_positioner were renamed and updated
accordingly.
2022-02-21 17:26:51 +00:00
Kirill Primak
b5b15b2625
xdg-{toplevel,popup}: extract destructors
2022-02-21 17:26:51 +00:00
Simon Zeni
edfb332b24
types/wlr_touch: add base wlr_input_device
...
wlr_touch now owns its wlr_input_device. It will be initialized when the
tablet tool is initialized, and finished when the touch is destroyed.
2022-02-21 17:11:32 +00:00
Simon Zeni
7dfee50350
types/wlr_tablet_tool: add base wlr_input_device
...
wlr_tablet_tool owns its wlr_input_device. It will be initialized when the
tablet tool is initialized, and finished when the tablet tool is destroyed.
2022-02-21 17:11:32 +00:00
Simon Zeni
a662743610
types/wlr_tablet_pad: add base wlr_input_device
...
wlr_tablet_pad owns its wlr_input_device. It will be initialized when the
tablet pad is initialized, and finished when the tablet pad is destroyed.
2022-02-21 17:11:32 +00:00
Simon Zeni
0f3b38365d
types/wlr_switch: add base wlr_input_device
...
wlr_switch owns its wlr_input_device. It will be initialized when the
switch is initialized, and finished when the switch is destroyed.
2022-02-21 17:11:32 +00:00
Simon Zeni
d5480efc7a
types/wlr_pointer: add base wlr_input_device
...
wlr_pointer owns its wlr_input_device. It will be initialized when the
pointer is initialized, and finished when the pointer is destroyed.
2022-02-21 17:11:32 +00:00
Simon Zeni
a1978b1299
types/wlr_keyboard: add base wlr_input_device
...
wlr_keyboard owns its base wlr_input_device. It will be initialized when the
keyboard is initialized, and finished when the keyboard is destroyed.
2022-02-21 17:11:32 +00:00
Simon Zeni
130c3bcf63
types/wlr_input_device: call the specialized input device destroy function on destroy
...
In case the `wlr_input_device` is not owned by a specialized input device, the
function will finish the wlr_input_device and call it's implementation destroy
function if an implementation has been supplied, or simply free it.
2022-02-21 17:11:32 +00:00
Simon Zeni
fd80329c53
interfaces/wlr_input_device: introduce wlr_input_device_finish
...
This function releases the wlr_input_device allocated memory (it's name and
it's output name), and signals its destroy event.
2022-02-21 17:11:32 +00:00
Simon Zeni
71577e351e
types/wlr_input_device: default vendor and product id to 0
...
vendor and product id are set when needed by the libinput backend
2022-02-21 17:11:32 +00:00
Simon Zeni
7d560df90e
backend/headless: remove unused wlr_headless_input_device
2022-02-21 17:11:32 +00:00
Roman Gilg
cff4abc5b1
output: clear buffer created for test
...
When calling wlr_output_test an empty buffer might be created. This implicitly
changes the pending state of the output. Ensure that such a change is only
temporarily and clear such an empty buffer before returning the test result.
2022-02-21 15:58:29 +00:00
Kirill Primak
db6661502d
CONTRIBUTING.md: update construction/destruction functions' description
...
wlroots doesn't really follow the rule of keeping `create`/`destroy` and
`init`/`finish` functions in pairs, so the relevant doc section is
updated accordingly.
2022-02-21 15:39:57 +00:00
Keith Bowes
35b3d67e5f
Fixed compiling with FFmpeg 5.0
2022-02-21 15:51:17 +01:00
Isaac Freund
252b2348bd
wlr_cursor: constify map to region box arguments
2022-02-05 16:32:38 +01:00
Kirill Primak
c1a2c09ade
xdg-popup: send invalid_positioner to the right resource
2022-02-02 21:06:12 +03:00
Kirill Primak
7ed60c54a0
xdg-surface: avoid emitting signals with their owner object
...
https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1008#note_1139647
2022-02-02 21:06:12 +03:00
Kirill Primak
6ed3b02775
xdg-toplevel: fix `requested` doc
...
`requested` is also checked on state change requests.
2022-02-02 21:06:12 +03:00
Kirill Primak
34a71eae31
xdg-shell: drop wlr_xdg_toplevel_set_fullscreen_event
...
Instead, compositors can read relevant values from
wlr_xdg_toplevel.requested.
2022-02-02 21:06:12 +03:00
Kirill Primak
fd3a2a0906
xdg-surface: minor consistency renaming
2022-02-02 21:06:12 +03:00
Kirill Primak
88f3040438
xdg-popup: destroy popup-less grab
...
This also fixes a seat destruction segfaulting if xdg-shell was
destroyed first.
2022-02-02 21:06:12 +03:00
Kirill Primak
d2b36b7bd1
xdg-shell: fix potential use-after-free
2022-02-02 21:06:12 +03:00
Kirill Primak
c35d14ecfa
xdg-shell: extract role-specific unmap logic
2022-02-02 21:06:12 +03:00
Kirill Primak
e59aa3e0e7
xdg-toplevel: change object type in event structs
...
This commit replaces wlr_xdg_toplevel_*_event::surface with a toplevel
field.
2022-02-02 21:06:12 +03:00
Kirill Primak
1e4c1a3b58
xdg-toplevel: change parent type to xdg-toplevel
...
This commit changes wlr_xdg_toplevel::parent type from wlr_xdg_surface
to wlr_xdg_toplevel.
2022-02-02 21:06:12 +03:00
Kirill Primak
27c8865a4d
xdg-shell: unify function arguments' names
...
`wlr_xdg_surface`s are now named "surface" everywhere, and
`wlr_surface`s are called "wlr_surface".
2022-02-02 21:06:12 +03:00