scene: inline subsurface_tree_destroy
This is only called from one function. To destroy the wlr_scene_subsurface_tree from elsewhere, callers can destroy the scene-graph node returned by wlr_scene_subsurface_tree_create instead (just like a compositor would do). subsurface_tree_handle_surface_destroy does exactly this. Inlining avoids calling subsurface_tree_destroy by mistake.
This commit is contained in:
parent
a92293a15a
commit
a80f2b2816
|
@ -22,7 +22,10 @@ struct wlr_scene_subsurface_tree {
|
|||
struct wl_listener surface_new_subsurface;
|
||||
};
|
||||
|
||||
static void subsurface_tree_destroy(struct wlr_scene_subsurface_tree *subsurface_tree) {
|
||||
static void subsurface_tree_handle_tree_destroy(struct wl_listener *listener,
|
||||
void *data) {
|
||||
struct wlr_scene_subsurface_tree *subsurface_tree =
|
||||
wl_container_of(listener, subsurface_tree, tree_destroy);
|
||||
// tree and scene_surface will be cleaned up by scene_node_finish
|
||||
if (subsurface_tree->parent) {
|
||||
wlr_addon_finish(&subsurface_tree->surface_addon);
|
||||
|
@ -34,13 +37,6 @@ static void subsurface_tree_destroy(struct wlr_scene_subsurface_tree *subsurface
|
|||
free(subsurface_tree);
|
||||
}
|
||||
|
||||
static void subsurface_tree_handle_tree_destroy(struct wl_listener *listener,
|
||||
void *data) {
|
||||
struct wlr_scene_subsurface_tree *subsurface_tree =
|
||||
wl_container_of(listener, subsurface_tree, tree_destroy);
|
||||
subsurface_tree_destroy(subsurface_tree);
|
||||
}
|
||||
|
||||
static void subsurface_tree_handle_surface_destroy(struct wl_listener *listener,
|
||||
void *data) {
|
||||
struct wlr_scene_subsurface_tree *subsurface_tree =
|
||||
|
|
Loading…
Reference in New Issue