commit 128b6253a924c30e8e4fd1f09ce19e21a826c5ad
parent fd6d6f1d97deea2fc94aaeb58c85c99a498d905b
Author: Simon Ser <contact@emersion.fr>
Date: Thu, 23 Nov 2023 13:08:53 +0100
Pass wl_display to wlr_output_layout
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4310
Diffstat:
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/sway/tree/root.h b/include/sway/tree/root.h
@@ -41,7 +41,7 @@ struct sway_root {
} events;
};
-struct sway_root *root_create(void);
+struct sway_root *root_create(struct wl_display *display);
void root_destroy(struct sway_root *root);
diff --git a/sway/main.c b/sway/main.c
@@ -375,8 +375,6 @@ int main(int argc, char **argv) {
sway_log(SWAY_INFO, "Starting sway version " SWAY_VERSION);
- root = root_create();
-
if (!server_init(&server)) {
return 1;
}
diff --git a/sway/server.c b/sway/server.c
@@ -120,6 +120,8 @@ bool server_init(struct sway_server *server) {
wl_display_set_global_filter(server->wl_display, filter_global, NULL);
+ root = root_create(server->wl_display);
+
server->backend = wlr_backend_autocreate(server->wl_display, &server->session);
if (!server->backend) {
sway_log(SWAY_ERROR, "Unable to create backend");
diff --git a/sway/tree/root.c b/sway/tree/root.c
@@ -24,14 +24,14 @@ static void output_layout_handle_change(struct wl_listener *listener,
transaction_commit_dirty();
}
-struct sway_root *root_create(void) {
+struct sway_root *root_create(struct wl_display *wl_display) {
struct sway_root *root = calloc(1, sizeof(struct sway_root));
if (!root) {
sway_log(SWAY_ERROR, "Unable to allocate sway_root");
return NULL;
}
node_init(&root->node, N_ROOT, root);
- root->output_layout = wlr_output_layout_create();
+ root->output_layout = wlr_output_layout_create(wl_display);
wl_list_init(&root->all_outputs);
#if HAVE_XWAYLAND
wl_list_init(&root->xwayland_unmanaged);