diff options
Diffstat (limited to 'sway/tree/root.c')
-rw-r--r-- | sway/tree/root.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/sway/tree/root.c b/sway/tree/root.c index e4941566..fbdd9a96 100644 --- a/sway/tree/root.c +++ b/sway/tree/root.c | |||
@@ -9,6 +9,7 @@ | |||
9 | #include "sway/input/seat.h" | 9 | #include "sway/input/seat.h" |
10 | #include "sway/ipc-server.h" | 10 | #include "sway/ipc-server.h" |
11 | #include "sway/output.h" | 11 | #include "sway/output.h" |
12 | #include "sway/scene_descriptor.h" | ||
12 | #include "sway/tree/arrange.h" | 13 | #include "sway/tree/arrange.h" |
13 | #include "sway/tree/container.h" | 14 | #include "sway/tree/container.h" |
14 | #include "sway/tree/root.h" | 15 | #include "sway/tree/root.h" |
@@ -44,13 +45,19 @@ struct sway_root *root_create(struct wl_display *wl_display) { | |||
44 | 45 | ||
45 | bool failed = false; | 46 | bool failed = false; |
46 | root->staging = alloc_scene_tree(&root_scene->tree, &failed); | 47 | root->staging = alloc_scene_tree(&root_scene->tree, &failed); |
47 | 48 | root->layer_tree = alloc_scene_tree(&root_scene->tree, &failed); | |
48 | root->layers.tiling = alloc_scene_tree(&root_scene->tree, &failed); | 49 | |
49 | root->layers.floating = alloc_scene_tree(&root_scene->tree, &failed); | 50 | root->layers.tiling = alloc_scene_tree(root->layer_tree, &failed); |
50 | root->layers.fullscreen = alloc_scene_tree(&root_scene->tree, &failed); | 51 | root->layers.floating = alloc_scene_tree(root->layer_tree, &failed); |
51 | root->layers.fullscreen_global = alloc_scene_tree(&root_scene->tree, &failed); | 52 | root->layers.fullscreen = alloc_scene_tree(root->layer_tree, &failed); |
52 | root->layers.seat = alloc_scene_tree(&root_scene->tree, &failed); | 53 | root->layers.fullscreen_global = alloc_scene_tree(root->layer_tree, &failed); |
53 | root->layers.session_lock = alloc_scene_tree(&root_scene->tree, &failed); | 54 | root->layers.seat = alloc_scene_tree(root->layer_tree, &failed); |
55 | root->layers.session_lock = alloc_scene_tree(root->layer_tree, &failed); | ||
56 | |||
57 | if (!failed && !scene_descriptor_assign(&root->layers.seat->node, | ||
58 | SWAY_SCENE_DESC_NON_INTERACTIVE, (void *)1)) { | ||
59 | failed = true; | ||
60 | } | ||
54 | 61 | ||
55 | if (failed) { | 62 | if (failed) { |
56 | wlr_scene_node_destroy(&root_scene->tree.node); | 63 | wlr_scene_node_destroy(&root_scene->tree.node); |