You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Manuel Stoeckl
edb30a6828
Implement serial validation for selection requests
...
This change tracks, for each wlr_seat_client, the most recent serial
numbers which were sent to the client. When the client makes a
selection request, wlroots now verifies that the serial number
associated with the selection request was actually provided to that
specific client. This ensures that the client that was most
recently interacted with always has priority for its copy selection
requests, and that no other clients can incorrectly use a larger serial
value and "steal" the role of having the copy selection.
Also, the code used to determine when a given selection is superseded
by a newer request uses < instead of <= to allow clients to make
multiple selection requests with the same serial number and have the
last one hold.
To limit memory use, a ring buffer is used to store runs of sequential
serial numbers, and all serial numbers earlier than the start of the
ring buffer are assumed to be valid. Faking very old serials is
unlikely to be disruptive.
Assuming all clients are correctly written, the only additional
constraint which this patch should impose is that serial numbers
are now bound to seats: clients may not receive a serial number
from an input event on one seat and then use that to request
copy-selection on another seat.
5 years ago
..
data_device
Implement serial validation for selection requests
5 years ago
seat
Implement serial validation for selection requests
5 years ago
tablet_v2
send proximity_out in proximity in for tablet_v2
6 years ago
xdg_shell
wlr_xdg_toplevel: store pending fullscreen output
6 years ago
xdg_shell_v6
wlr_xdg_toplevel_v6: store pending fullscreen output
6 years ago
meson.build
Remove orbital screenshooter and gamma-control
6 years ago
wlr_box.c
Standardize the wlr_box input paramaters
6 years ago
wlr_buffer.c
buffer: add wlr_buffer_get_dmabuf
6 years ago
wlr_compositor.c
Merge pull request #1116 from emersion/surface-role
6 years ago
wlr_cursor.c
Implement the pointer-gestures-unstable-v1 protocol
6 years ago
wlr_data_control_v1.c
Implement serial validation for selection requests
5 years ago
wlr_export_dmabuf_v1.c
output: introduce wlr_output_lock_attach_render
6 years ago
wlr_foreign_toplevel_management_v1.c
foreign-toplevel: support fullscreen state and request
6 years ago
wlr_fullscreen_shell_v1.c
fullscreen-shell-v1: initial protocol implementation
6 years ago
wlr_gamma_control_v1.c
gamma-control-v1: add missing destroy handler
6 years ago
wlr_gtk_primary_selection.c
Implement serial validation for selection requests
5 years ago
wlr_idle.c
idle: enable the compositors to add custom idle timeouts ( #1655 )
6 years ago
wlr_idle_inhibit_v1.c
Init the new destroy signals added by #1200
6 years ago
wlr_input_device.c
s/lid_switch/switch_device
6 years ago
wlr_input_inhibitor.c
Init the new destroy signals added by #1200
6 years ago
wlr_input_method_v2.c
input-method-v2: initialize destroy signal
6 years ago
wlr_keyboard.c
Use a set to track pointer button state.
6 years ago
wlr_layer_shell_v1.c
layer-shell: add _v1 suffix
6 years ago
wlr_linux_dmabuf_v1.c
render: switch wlr_renderer to wlr_drm_format_set
6 years ago
wlr_list.c
Revert "ELF Visibility"
7 years ago
wlr_matrix.c
Fix typos in comments and strings
7 years ago
wlr_output.c
output: remove wlr_output_impl.transform
6 years ago
wlr_output_damage.c
output-damage: set needs swap only when we have new damage
5 years ago
wlr_output_layout.c
output: remove lx, ly
6 years ago
wlr_output_management_v1.c
output: remove lx, ly
6 years ago
wlr_pointer.c
Implement the pointer-gestures-unstable-v1 protocol
6 years ago
wlr_pointer_constraints_v1.c
pointer-constraints: use proper wayland-scanner functions
6 years ago
wlr_pointer_gestures_v1.c
Implement the pointer-gestures-unstable-v1 protocol
6 years ago
wlr_presentation_time.c
output: add presentation refresh prediction
6 years ago
wlr_primary_selection.c
Implement serial validation for selection requests
5 years ago
wlr_primary_selection_v1.c
Implement serial validation for selection requests
5 years ago
wlr_region.c
compositor: redesign how resources are managed
7 years ago
wlr_relative_pointer_v1.c
relative-pointer-v1: time is in usec, not msec
6 years ago
wlr_screencopy_v1.c
output: introduce wlr_output_lock_attach_render
6 years ago
wlr_server_decoration.c
Init the new destroy signals added by #1200
6 years ago
wlr_surface.c
subsurface: add map/unmap events
6 years ago
wlr_switch.c
s/lid_switch/switch_device
6 years ago
wlr_tablet_pad.c
Use wlr_list for paths, and improve inert resource handling
6 years ago
wlr_tablet_tool.c
rename wlr_tablet_tool to wlr_tablet
6 years ago
wlr_text_input_v3.c
text-input-v3: remove newline in log message
6 years ago
wlr_touch.c
Revert "ELF Visibility"
7 years ago
wlr_virtual_keyboard_v1.c
virtual_keyboard: Require keymap before accepting keycodes
5 years ago
wlr_xcursor_manager.c
Redesign wlr_texture
7 years ago
wlr_xdg_decoration_v1.c
Fix a crash on zxdg_decoration_manager_v1 destroy
6 years ago
wlr_xdg_output_v1.c
xdg-output: schedule a wl_output.done event on update
6 years ago