diff options
author | Scott Anderson <ascent12@hotmail.com> | 2017-07-11 18:51:19 +1200 |
---|---|---|
committer | Scott Anderson <ascent12@hotmail.com> | 2017-08-06 13:25:26 +1200 |
commit | ae4478e17f56c1fb52a77d1f034387f154eddef5 (patch) | |
tree | e2318946e5679221ceff80710905d348a8dd96da /backend/multi | |
parent | 41b98f21e50a6d57ba4b7fd8ba90066bba614e6a (diff) |
Changed ownership of wlr_session to the multi backend.
Currently breaks VT switching for examples.
Diffstat (limited to 'backend/multi')
-rw-r--r-- | backend/multi/backend.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/backend/multi/backend.c b/backend/multi/backend.c index d33d137c..2e8f117c 100644 --- a/backend/multi/backend.c +++ b/backend/multi/backend.c @@ -1,6 +1,8 @@ #include <stdbool.h> #include <stdlib.h> #include <wlr/backend/interface.h> +#include <wlr/backend/udev.h> +#include <wlr/session.h> #include <wlr/util/log.h> #include "backend/multi.h" @@ -31,6 +33,8 @@ static void multi_backend_destroy(struct wlr_backend_state *state) { free(sub); } list_free(state->backends); + wlr_session_finish(state->session); + wlr_udev_destroy(state->udev); free(state); } @@ -39,21 +43,26 @@ struct wlr_backend_impl backend_impl = { .destroy = multi_backend_destroy }; -struct wlr_backend *wlr_multi_backend_create() { +struct wlr_backend *wlr_multi_backend_create(struct wlr_session *session, + struct wlr_udev *udev) { struct wlr_backend_state *state = calloc(1, sizeof(struct wlr_backend_state)); if (!state) { wlr_log(L_ERROR, "Backend allocation failed"); return NULL; } + state->backends = list_create(); if (!state->backends) { free(state); wlr_log(L_ERROR, "Backend allocation failed"); return NULL; } + struct wlr_backend *backend = wlr_backend_create(&backend_impl, state); state->backend = backend; + state->session = session; + state->udev = udev; return backend; } |