Chase wlroots: every scene_node parent is now a tree

Chases wlroots ccd0f85c2a36308e35b153c7f9653abac7659af3
wlr_scene: Only allow parenting on a wlr_scene_tree
This commit is contained in:
Consolatis 2022-06-05 15:17:35 +02:00 committed by Johan Malm
parent b7c9d0e055
commit 2ed7a10779
20 changed files with 97 additions and 93 deletions

View file

@ -311,13 +311,14 @@ map(struct view *view)
if (view->surface != view->xwayland_surface->surface) {
view->surface = view->xwayland_surface->surface;
view->scene_node = wlr_scene_subsurface_tree_create(
&view->scene_tree->node, view->surface);
if (!view->scene_node) {
struct wlr_scene_tree *tree = wlr_scene_subsurface_tree_create(
view->scene_tree, view->surface);
if (!tree) {
/* TODO: might need further clean up */
wl_resource_post_no_memory(view->surface->resource);
return;
}
view->scene_node = &tree->node;
}
if (!view->toplevel_handle) {
@ -433,7 +434,7 @@ xwayland_surface_new(struct wl_listener *listener, void *data)
view->impl = &xwl_view_impl;
view->xwayland_surface = xsurface;
view->scene_tree = wlr_scene_tree_create(&view->server->view_tree->node);
view->scene_tree = wlr_scene_tree_create(view->server->view_tree);
node_descriptor_create(&view->scene_tree->node,
LAB_NODE_DESC_VIEW, view);
xsurface->data = view;