diff options
Diffstat (limited to 'backend')
-rw-r--r-- | backend/backend.c | 3 | ||||
-rw-r--r-- | backend/multi/backend.c | 12 |
2 files changed, 8 insertions, 7 deletions
diff --git a/backend/backend.c b/backend/backend.c index 58fd8de4..5a7434b3 100644 --- a/backend/backend.c +++ b/backend/backend.c @@ -344,7 +344,8 @@ struct wlr_backend *wlr_backend_autocreate(struct wl_display *display, } struct wlr_session *session = NULL; - struct wlr_backend *multi = wlr_multi_backend_create(display); + struct wl_event_loop *loop = wl_display_get_event_loop(display); + struct wlr_backend *multi = wlr_multi_backend_create(loop); if (!multi) { wlr_log(WLR_ERROR, "could not allocate multibackend"); return NULL; diff --git a/backend/multi/backend.c b/backend/multi/backend.c index df74fbb1..dc2668bb 100644 --- a/backend/multi/backend.c +++ b/backend/multi/backend.c @@ -48,7 +48,7 @@ static void subbackend_state_destroy(struct subbackend_state *sub) { static void multi_backend_destroy(struct wlr_backend *wlr_backend) { struct wlr_multi_backend *backend = multi_backend_from_backend(wlr_backend); - wl_list_remove(&backend->display_destroy.link); + wl_list_remove(&backend->event_loop_destroy.link); wlr_backend_finish(wlr_backend); @@ -105,13 +105,13 @@ static const struct wlr_backend_impl backend_impl = { .get_buffer_caps = multi_backend_get_buffer_caps, }; -static void handle_display_destroy(struct wl_listener *listener, void *data) { +static void handle_event_loop_destroy(struct wl_listener *listener, void *data) { struct wlr_multi_backend *backend = - wl_container_of(listener, backend, display_destroy); + wl_container_of(listener, backend, event_loop_destroy); multi_backend_destroy((struct wlr_backend*)backend); } -struct wlr_backend *wlr_multi_backend_create(struct wl_display *display) { +struct wlr_backend *wlr_multi_backend_create(struct wl_event_loop *loop) { struct wlr_multi_backend *backend = calloc(1, sizeof(*backend)); if (!backend) { wlr_log(WLR_ERROR, "Backend allocation failed"); @@ -124,8 +124,8 @@ struct wlr_backend *wlr_multi_backend_create(struct wl_display *display) { wl_signal_init(&backend->events.backend_add); wl_signal_init(&backend->events.backend_remove); - backend->display_destroy.notify = handle_display_destroy; - wl_display_add_destroy_listener(display, &backend->display_destroy); + backend->event_loop_destroy.notify = handle_event_loop_destroy; + wl_event_loop_add_destroy_listener(loop, &backend->event_loop_destroy); return &backend->backend; } |