Kirill Primak
7df11ada5e
Unmap wlr_surface before making its role object inert
2023-07-26 20:39:03 +00:00
Kirill Primak
f4eaab12a0
input-method-v2: don't remove inert role resource
2023-07-10 10:03:24 +02:00
Simon Ser
8a5b5e6f28
compositor: listen to role_resource destroy signal
...
Call wlr_surface_destroy_role_object() when the role_resource is
destroyed.
2023-06-23 14:33:26 +02:00
Simon Ser
89cb484220
compositor: replace role_data with role_resource
...
This increases type safety, makes it more obvious that role_data
must represent the role object, and will allow for automatic
cleanup when the resource is destroyed.
2023-06-23 14:23:27 +02:00
Simon Ser
00f1870d35
input-method-v2: add popup_surface_from_resource()
...
This checks the resource type before casting its user data pointer.
2023-06-23 14:14:36 +02:00
Kirill Primak
0f67580aab
compositor: introduce wlr_surface_set_role_object()
2023-06-23 11:54:05 +00:00
Väinö Mäkelä
16948c7369
input-method: Handle inert seats
2023-06-03 10:43:12 +00:00
Kirill Primak
743da5c0ae
input-method: use unified map logic
2023-06-02 17:26:18 +00:00
Simon Ser
49cb85ad72
input-method-v2: convert to try_from
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/884
2023-02-01 20:13:30 +01:00
Kirill Primak
099b9de752
compositor: drop role object NULL checks in handlers
...
Instead, move the check to the caller.
2022-11-06 17:00:00 +03:00
Kirill Primak
75af6a0a39
input-method: use role object destroy handler
2022-11-06 17:00:00 +03:00
Alexander Orzechowski
ef4baea0e2
Use wl_signal_emit_mutable
2022-08-18 07:16:16 -04:00
Kenny Levinsen
668b2740ff
Set mapped before firing map/unmap events
...
This allows whatever the user calls from the signal handlers to react to observe
the new state rather than the old, e.g. that a surface is no longer mapped in
the unmap handler.
2022-08-06 00:19:38 +02:00
Simon Zeni
eae8952e17
types/wlr_keyboard: remove destroy event
...
The destroy event from the base wlr_input_device must be used
2022-03-11 20:02:21 +00:00
Tadeo Kondrak
5091118bed
input_method_v2: improve mapping detection
...
Detect NULL commits before the surface is actually committed, allowing
the surface to be properly damaged on unmap.
2022-01-16 09:08:39 -07:00
Kirill Primak
617eb4fb93
surface: deprecate wlr_surface.h
2022-01-13 10:06:41 +00:00
Isaac Freund
e326b76959
text-input/input-method: handle strdup() failure
2021-11-07 21:01:24 +01:00
Tadeo Kondrak
30d3c76817
Implement input_method_v2 popups
2021-09-22 09:42:14 +02:00
Simon Ser
372a52ecc0
input-method: send modifiers in set_keyboard
...
Otherwise the client might have an outdated modifiers state. The same is
done in wlr_seat_keyboard [1].
[1]: 8348fc3ef8/types/seat/wlr_seat_keyboard.c (L163)
2020-11-06 19:14:55 +01:00
xdavidwu
595f324f8b
input-method: implement keyboard grabs
2020-07-08 11:21:57 +02:00
Simon Ser
5cde35923c
Simplify globals implementation by removing destructors
...
Some globals are static and it doesn't make sense to destroy them before
the wl_display. For instance, wl_compositor should be created before the
display is started and shouldn't be destroyed.
For these globals, we can simplify the code by removing the destructor
and stop keeping track of wl_resources (these will be destroyed with the
wl_display by libwayland).
2019-11-25 09:01:46 -05:00
Sebastian Krzyszkowiak
913cac1835
wlr_input_method_v2: Remove input method's resource from the list on destroy
...
It's added to manager->input_methods list in manager_get_input_method, but
wasn't removed anywhere, leading to possible use-after-free in
wlr_input_method_manager_v2_destroy.
2019-08-09 08:05:55 +09:00
emersion
de8d87f5ae
input-method-v2: initialize destroy signal
2018-10-28 12:23:47 +01:00
Dorota Czaplejewicz
cec7471119
wlroots: add basic support for zwp_input_method_v2
...
Implemented basic input method functionality. Not included: popups, grabbing.
2018-10-09 09:56:46 +00:00