aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/wlr/types/wlr_scene.h14
-rw-r--r--types/scene/output_layout.c2
2 files changed, 6 insertions, 10 deletions
diff --git a/include/wlr/types/wlr_scene.h b/include/wlr/types/wlr_scene.h
index a756e88e..1fa60b65 100644
--- a/include/wlr/types/wlr_scene.h
+++ b/include/wlr/types/wlr_scene.h
@@ -517,21 +517,19 @@ struct wlr_scene_output *wlr_scene_get_scene_output(struct wlr_scene *scene,
/**
* Attach an output layout to a scene.
*
- * With an attached `wlr_scene_output_layout`, removing or repositioning an output in the output
- * layout will respectively remove or reposition a corresponding scene-graph output. When the output
- * layout is destroyed, scene-graph outputs which were attached to this helper will be destroyed.
+ * The resulting scene output layout allows to synchronize the positions of scene
+ * outputs with the positions of corresponding layout outputs.
*
- * When adding an output to the output_layout, users must also create a `wlr_scene_output` and pass
- * it to wlr_scene_output_layout_add_output().
+ * It is automatically destroyed when the scene or the output layout is destroyed.
*/
struct wlr_scene_output_layout *wlr_scene_attach_output_layout(struct wlr_scene *scene,
struct wlr_output_layout *output_layout);
/**
- * Add an output to the scene, with its positioning defined by the output layout.
+ * Add an output to the scene output layout.
*
- * The `wlr_scene_output_layout` takes ownership of the `wlr_scene_output`, which will be destroyed
- * when either the `wlr_scene_output_layout` or the `wlr_output_layout_output` is destroyed.
+ * When the layout output is repositioned, the scene output will be repositioned
+ * accordingly.
*/
void wlr_scene_output_layout_add_output(struct wlr_scene_output_layout *sol,
struct wlr_output_layout_output *lo, struct wlr_scene_output *so);
diff --git a/types/scene/output_layout.c b/types/scene/output_layout.c
index 81dc752a..c9835382 100644
--- a/types/scene/output_layout.c
+++ b/types/scene/output_layout.c
@@ -28,7 +28,6 @@ static void scene_output_layout_output_destroy(
wl_list_remove(&solo->layout_output_destroy.link);
wl_list_remove(&solo->scene_output_destroy.link);
wl_list_remove(&solo->link);
- wlr_scene_output_destroy(solo->scene_output);
free(solo);
}
@@ -43,7 +42,6 @@ static void scene_output_layout_output_handle_scene_output_destroy(
struct wl_listener *listener, void *data) {
struct wlr_scene_output_layout_output *solo =
wl_container_of(listener, solo, scene_output_destroy);
- solo->scene_output = NULL;
scene_output_layout_output_destroy(solo);
}