aboutsummaryrefslogtreecommitdiffstats
path: root/sway/tree/root.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/tree/root.c')
-rw-r--r--sway/tree/root.c21
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);