backend/session: take wl_event_loop instead of wl_display

wl_display holds a lot more than wlr_session needs: wlr_session
only needs to wait for a FD to become readable, but wl_display
provides full access to the Wayland client and protocol objects.

Switch to wl_event_loop to better reflect the above.
This commit is contained in:
Simon Ser 2023-08-11 19:28:07 +02:00 committed by Isaac Freund
parent f1762f428b
commit 63792b38e4
5 changed files with 24 additions and 28 deletions

View file

@ -26,7 +26,7 @@ static void handle_add_drm_card(struct wl_listener *listener, void *data) {
wlr_log(WLR_DEBUG, "Creating DRM backend for %s after hotplug", event->path);
struct wlr_backend *child_drm = wlr_drm_backend_create(
backend_monitor->session->display, backend_monitor->session,
backend_monitor->display, backend_monitor->session,
dev, backend_monitor->primary_drm);
if (!child_drm) {
wlr_log(WLR_ERROR, "Failed to create DRM backend after hotplug");
@ -64,9 +64,8 @@ static void handle_multi_destroy(struct wl_listener *listener, void *data) {
}
struct wlr_drm_backend_monitor *drm_backend_monitor_create(
struct wlr_backend *multi,
struct wlr_backend *primary_drm,
struct wlr_session *session) {
struct wlr_backend *multi, struct wlr_backend *primary_drm,
struct wlr_session *session, struct wl_display *display) {
struct wlr_drm_backend_monitor *monitor = calloc(1, sizeof(*monitor));
if (!monitor) {
wlr_log_errno(WLR_ERROR, "Allocation failed");
@ -76,6 +75,7 @@ struct wlr_drm_backend_monitor *drm_backend_monitor_create(
monitor->multi = multi;
monitor->primary_drm = primary_drm;
monitor->session = session;
monitor->display = display;
monitor->session_add_drm_card.notify = handle_add_drm_card;
wl_signal_add(&session->events.add_drm_card, &monitor->session_add_drm_card);