wlroots-hyprland/include/wlr/types
Alexander Orzechowski e1e911d425 scene_output_layout: Don't destroy output when output layout is destroyed
There were a couple of problems with this:
1. The behavior is unexpected. Typically objects in wlroots won't
also destroy objects that they depend on. For instance, wlr_scene_output
will not destroy the wlr_output when it's destroyed. It shouldn't be any
different for scene layouts.
2. This fixes a crash where because wlr_output_layout and wlr_scene_output
are both addons to wlr_output, we might get into a situation where
wl_list_for_each_safe might malfunction. See [1]

This means that the compositor needs to manually destroy the output
when they destroy the layout, hence ~breaking. Compositors can just
call `wlr_scene_output_destroy()` if they want to destroy both at the
same time.

[1] https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4358#note_2106260

This reverts commit 1a731596c5.

Co-authored-by: Kirill Primak <vyivel@eclair.cafe>
2023-10-07 13:31:20 -04:00
..
wlr_buffer.h buffer: make wlr_client_buffer functions private 2023-08-21 15:45:10 +00:00
wlr_compositor.h docs: replace the less commonly used "::" with "." 2023-10-02 22:10:16 +03:00
wlr_content_type_v1.h content-type-v1: add version param to wlr_content_type_manager_v1_create() 2022-11-15 16:43:04 +01:00
wlr_cursor.h cursor: remove wlr_cursor_set_image() 2023-07-02 22:42:37 +00:00
wlr_cursor_shape_v1.h cursor-shape-v1: new protocol implementation 2023-07-24 01:00:19 +00:00
wlr_damage_ring.h damage-ring: constify wlr_damage_ring_add() 2022-11-11 23:11:17 +00:00
wlr_data_control_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_data_device.h data-device: remove undefined grab interface decls 2023-07-17 16:24:05 +00:00
wlr_drm.h wlr_drm: Add missing wlr_buffer import 2022-12-03 07:57:40 -05:00
wlr_drm_lease_v1.h docs: replace the less commonly used "::" with "." 2023-10-02 22:10:16 +03:00
wlr_export_dmabuf_v1.h wlr-export-dmabuf-v1: handle output destroy 2023-05-10 20:45:48 +00:00
wlr_foreign_toplevel_management_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_fractional_scale_v1.h wp-fractional-scale-v1: new protocol implementation 2023-02-08 16:31:39 +01:00
wlr_fullscreen_shell_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_gamma_control_v1.h wlr_gamma_control: add missing forward declarations 2023-07-17 10:10:06 -04:00
wlr_idle_inhibit_v1.h wlr_idle_inhibit_manager_v1: add comments for signal parameters 2023-07-21 02:35:48 +00:00
wlr_idle_notify_v1.h idle-notify-v1: new protocol implementation 2022-10-14 13:36:15 +00:00
wlr_input_device.h wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_input_inhibitor.h Unify signal data docs 2023-08-23 19:43:26 +00:00
wlr_input_method_v2.h Unify signal data docs 2023-08-23 19:43:26 +00:00
wlr_keyboard.h keyboard: improve documentation 2022-12-15 19:49:45 +00:00
wlr_keyboard_group.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_keyboard_shortcuts_inhibit_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_layer_shell_v1.h Unify signal data docs 2023-08-23 19:43:26 +00:00
wlr_linux_dmabuf_v1.h linux-dmabuf-v1: add helper for output layer feedback events 2023-02-20 18:38:57 +01:00
wlr_matrix.h matrix: remove wlr_matrix_projection() 2022-06-08 19:27:36 +00:00
wlr_output.h output_event_commit: Remove committed and buffer 2023-10-06 10:06:01 +00:00
wlr_output_layer.h output-layer: add wlr_output_layer_state.damage 2023-06-30 04:31:50 +00:00
wlr_output_layout.h Unify signal data docs 2023-08-23 19:43:26 +00:00
wlr_output_management_v1.h wlr-output-management: implement adaptive sync 2022-10-24 16:19:25 +00:00
wlr_output_power_management_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_pointer.h pointer: transform low-res to high-res axis events 2022-07-11 11:01:35 +02:00
wlr_pointer_constraints_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_pointer_gestures_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_presentation_time.h presentation-time: add separate helper for zero-copy 2023-07-14 15:20:35 +02:00
wlr_primary_selection.h Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
wlr_primary_selection_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_region.h region: constify 2022-11-11 23:11:17 +00:00
wlr_relative_pointer_v1.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_scene.h scene_output_layout: Don't destroy output when output layout is destroyed 2023-10-07 13:31:20 -04:00
wlr_screencopy_v1.h screencopy-v1: make sure wlr_buffer enum is visible 2022-10-01 18:53:36 +00:00
wlr_seat.h seat: remove wlr_seat_validate_grab_serial() 2023-10-06 08:51:47 +00:00
wlr_server_decoration.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_session_lock_v1.h Unify signal data docs 2023-08-23 19:43:26 +00:00
wlr_shm.h shm: add create() function without a wlr_renderer 2022-11-25 15:16:42 +00:00
wlr_single_pixel_buffer_v1.h single-pixel-buffer-v1: fix header guard name 2022-09-17 09:18:11 +02:00
wlr_subcompositor.h subcompositor: use unified map logic 2023-06-02 17:26:18 +00:00
wlr_switch.h wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_tablet_pad.h wlr_input_device: remove anon union field 2022-06-21 18:42:07 +00:00
wlr_tablet_tool.h tablet-tool: revert bitfield in enum wlr_tablet_tool_tip_state 2023-01-03 20:15:55 +00:00
wlr_tablet_v2.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_tearing_control_v1.h staging/tearing-control: Add protocol support 2023-09-28 16:53:08 +00:00
wlr_text_input_v3.h Unify signal data docs 2023-08-23 19:43:26 +00:00
wlr_touch.h wlr_{keyboard,pointer,touch}: Update event docs 2022-06-28 09:50:30 +00:00
wlr_viewporter.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_virtual_keyboard_v1.h Unify signal data docs 2023-08-23 19:43:26 +00:00
wlr_virtual_pointer_v1.h Unify signal data docs 2023-08-23 19:43:26 +00:00
wlr_xcursor_manager.h docs: replace the less commonly used "::" with "." 2023-10-02 22:10:16 +03:00
wlr_xdg_activation_v1.h wlr_xdg_activation_v1: add new_token event 2022-12-06 05:45:37 +00:00
wlr_xdg_decoration_v1.h Unify signal data docs 2023-08-23 19:43:26 +00:00
wlr_xdg_foreign_registry.h Reformat doc comments 2022-05-25 14:22:58 +00:00
wlr_xdg_foreign_v1.h xdg-foreign-v1: s/unmap/destroy 2022-09-11 09:20:08 +03:00
wlr_xdg_foreign_v2.h xdg-foreign-v2: s/unmap/destroy 2022-09-11 09:20:08 +03:00
wlr_xdg_output_v1.h xdg-output-v1: use wlr_output.description 2019-12-29 12:35:22 -05:00
wlr_xdg_shell.h xdg-shell: document wlr_xdg_surface's initialized & initial_commit 2023-10-04 14:50:48 +00:00