wlroots/types
Simon Ser b094f8aeb3 scene/surface: don't cache frame pacing output
Storing the frame pacing output in a per-scene and per-surface
struct doesn't play well with multiple scenes. outputs_update is
only triggered for outputs the scene knows about, but operates on
all outputs the surface has entered regardless of the scene. Thus
leaving an output on one scene will not refresh the frame pacing
output on other scenes, and these other scenes will operate with
a stale frame pacing output. The surface will not receive any more
wl_surface.frame done events.

This also avoids keeping a dangling pointer around when the frame
pacing output is destroyed but the output isn't added in the scene.

References: https://github.com/swaywm/sway/issues/8885
2026-01-04 14:40:18 +01:00
..
buffer wlr_client_buffer: add get_shm implementation 2025-04-13 20:48:59 +00:00
data_device seat: add wlr_seat_touch_notify_clear_focus 2025-12-11 21:10:59 +00:00
ext_image_capture_source_v1 ext_image_capture_source_v1/scene: fix stop for parallel captures 2026-01-04 00:34:39 +00:00
output output: don't rebuild cursor color transform for each update 2025-11-24 23:26:14 +00:00
scene scene/surface: don't cache frame pacing output 2026-01-04 14:40:18 +01:00
seat seat: add wlr_seat_touch_notify_clear_focus 2025-12-11 21:10:59 +00:00
tablet_v2 tablet-v2: cleanup focused surface on tool destroy 2025-04-27 16:57:50 +00:00
xdg_shell seat: add wlr_seat_touch_notify_clear_focus 2025-12-11 21:10:59 +00:00
meson.build fixes: add implementation 2025-08-13 20:41:21 +00:00
wlr_alpha_modifier_v1.c alpha-modifier-v1: add a missing NULL check in wlr_alpha_modifier_v1_get_surface_state() 2024-05-01 03:07:16 +03:00
wlr_color_management_v1.c color_management_v1: add BT.1886 to TF-from-renderer helper 2025-12-18 09:54:27 -05:00
wlr_color_representation_v1.c color_representation_v1: don't leak supported_* on display destroy 2025-12-04 15:27:22 +05:30
wlr_compositor.c compositor: use wl_resource_post_error_vargs() 2025-08-13 20:59:13 +00:00
wlr_content_type_v1.c Avoid including generated headers publicly where possible 2025-08-13 22:46:37 +02:00
wlr_cursor.c cursor: apply output image description when preparing texture 2025-11-11 21:55:06 +00:00
wlr_cursor_shape_v1.c Avoid including generated headers publicly where possible 2025-08-13 22:46:37 +02:00
wlr_damage_ring.c damage_ring: Remove wlr_damage_ring_set_bounds 2024-10-09 06:31:46 +00:00
wlr_data_control_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_drm.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_drm_lease_v1.c drm_lease_v1: initialize device resource link during abnormal exit 2025-09-11 11:05:39 +08:00
wlr_export_dmabuf_v1.c Change all timespec pointers in events to owned 2025-05-15 08:59:56 +00:00
wlr_ext_data_control_v1.c ext-data-control: add missing listener list assertion 2025-04-06 10:13:40 +03:00
wlr_ext_foreign_toplevel_list_v1.c Fix/cleanup includes a bit 2025-04-15 20:13:29 +03:00
wlr_ext_image_copy_capture_v1.c Avoid including generated headers publicly where possible 2025-08-13 22:46:37 +02:00
wlr_fixes.c fixes: add implementation 2025-08-13 20:41:21 +00:00
wlr_foreign_toplevel_management_v1.c wlr-foreign-toplevel: avoid wl_resource_find_for_client() 2025-11-25 18:54:20 +00:00
wlr_fractional_scale_v1.c Define _POSIX_C_SOURCE globally 2024-02-15 15:41:12 +01:00
wlr_gamma_control_v1.c gamma_control_v1: introduce fallback_gamma_size 2025-10-18 20:36:01 +02:00
wlr_idle_inhibit_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_idle_notify_v1.c idle_notify_v1: drop trailing spaces 2025-06-15 12:25:36 +00:00
wlr_input_device.c types/wlr_input_device: name maybe NULL 2025-11-04 17:29:23 +08:00
wlr_input_method_v2.c input-method-v2: Destroy keyboard grab before input method 2025-10-16 12:07:47 +00:00
wlr_keyboard.c Add support for XKB_LED_NAME_COMPOSE and XKB_LED_NAME_KANA USB HID LEDs 2025-05-15 09:14:48 +00:00
wlr_keyboard_group.c wlr_keyboard_group: fix leak of wlr_keyboard_group->keys 2025-04-25 03:23:26 +09:00
wlr_keyboard_shortcuts_inhibit_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_layer_shell_v1.c xdg-shell,layer-shell: assert that configure events are only sent to initialized surfaces 2025-03-01 16:07:11 +00:00
wlr_linux_dmabuf_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_linux_drm_syncobj_v1.c linux_drm_syncobj_v1: fix use-after-free in surface_commit_destroy() 2025-10-17 09:05:53 +00:00
wlr_output_layer.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_output_layout.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_output_management_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_output_power_management_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_output_swapchain_manager.c swapchain, damage_ring: Drop buffer age 2024-08-21 09:45:54 -04:00
wlr_pointer.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_pointer_constraints_v1.c Avoid including generated headers publicly where possible 2025-08-13 22:46:37 +02:00
wlr_pointer_gestures_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_presentation_time.c presentation-time: make version a uint32_t 2025-04-27 20:42:57 +00:00
wlr_primary_selection.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_primary_selection_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_region.c compositor: deprecate wlr/types/wlr_region.h 2023-11-24 15:09:31 +03:00
wlr_relative_pointer_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_screencopy_v1.c Change all timespec pointers in events to owned 2025-05-15 08:59:56 +00:00
wlr_security_context_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_server_decoration.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_session_lock_v1.c Define _POSIX_C_SOURCE globally 2024-02-15 15:41:12 +01:00
wlr_shm.c buffer: introduce wlr_buffer_finish() 2025-01-08 16:06:12 +00:00
wlr_single_pixel_buffer_v1.c single-pixel-buffer: Add try_from_buffer() function 2025-04-07 13:25:42 +01:00
wlr_subcompositor.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_switch.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_tablet_pad.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_tablet_tool.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_tearing_control_v1.c Fix/cleanup includes a bit 2025-04-15 20:13:29 +03:00
wlr_text_input_v3.c text-input-v3: Use NULL when emitting signals 2025-05-15 13:36:58 +00:00
wlr_touch.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_transient_seat_v1.c transient_seat: initialize seat destroy listener 2025-07-10 19:52:45 +02:00
wlr_viewporter.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_virtual_keyboard_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_virtual_pointer_v1.c wlr_virtual_pointer: Set axis source on all axis 2025-11-06 16:02:58 +00:00
wlr_xcursor_manager.c Define _POSIX_C_SOURCE globally 2024-02-15 15:41:12 +01:00
wlr_xdg_activation_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_xdg_decoration_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_xdg_dialog_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_xdg_foreign_registry.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_xdg_foreign_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_xdg_foreign_v2.c Fix/cleanup includes a bit 2025-04-15 20:13:29 +03:00
wlr_xdg_output_v1.c Assert (almost all) signals have no attached listeners on destroy 2025-01-15 19:53:11 +03:00
wlr_xdg_system_bell_v1.c xdg-system-bell-v1: set proper global/resource user data 2025-04-11 14:04:23 +00:00
wlr_xdg_toplevel_icon_v1.c wlr_xdg_toplevel_icon_v1: check the correct resource 2025-08-27 20:01:50 +08:00
wlr_xdg_toplevel_tag_v1.c xdg-toplevel-tag-v1: new protocol 2025-07-07 09:10:37 +00:00