aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2023-11-23 14:11:23 +0100
committerKirill Primak <vyivel@eclair.cafe>2024-01-25 15:05:36 +0000
commitf27808b8d98d5b9907a347cd9f01bb7bef3218b9 (patch)
treef9f7bf7a8c55256f78b0b48558354dc6c8e29bb8
parent54f9944b4885e4a08c0f004136ef06f732b8308f (diff)
backend/multi: take wl_event_loop instead of wl_display
-rw-r--r--backend/backend.c3
-rw-r--r--backend/multi/backend.c12
-rw-r--r--include/backend/multi.h2
-rw-r--r--include/wlr/backend/multi.h2
4 files changed, 10 insertions, 9 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;
}
diff --git a/include/backend/multi.h b/include/backend/multi.h
index 20ad9db1..3ffd8140 100644
--- a/include/backend/multi.h
+++ b/include/backend/multi.h
@@ -10,7 +10,7 @@ struct wlr_multi_backend {
struct wl_list backends;
- struct wl_listener display_destroy;
+ struct wl_listener event_loop_destroy;
struct {
struct wl_signal backend_add;
diff --git a/include/wlr/backend/multi.h b/include/wlr/backend/multi.h
index 09000ac2..c4322d98 100644
--- a/include/wlr/backend/multi.h
+++ b/include/wlr/backend/multi.h
@@ -15,7 +15,7 @@
* Creates a multi-backend. Multi-backends wrap an arbitrary number of backends
* and aggregate their new_output/new_input signals.
*/
-struct wlr_backend *wlr_multi_backend_create(struct wl_display *display);
+struct wlr_backend *wlr_multi_backend_create(struct wl_event_loop *loop);
/**
* Adds the given backend to the multi backend. This should be done before the
* new backend is started.