From f451ea36393e8cedf29fd9877689b33ae770a8dc Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Wed, 1 Nov 2017 19:34:17 +0100 Subject: rootston exit: fix drm destroy wlr_drm_connector were being freed without removing them from the drm->outputs list, segfaulting on destroy --- backend/drm/drm.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'backend/drm/drm.c') diff --git a/backend/drm/drm.c b/backend/drm/drm.c index 08e6296b..dd247998 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -645,6 +645,7 @@ static void wlr_drm_connector_destroy(struct wlr_output *output) { struct wlr_drm_connector *conn = (struct wlr_drm_connector *)output; wlr_drm_connector_cleanup(conn); wl_event_source_remove(conn->retry_pageflip); + wl_list_remove(&conn->link); free(conn); } @@ -823,6 +824,7 @@ void wlr_drm_scan_connectors(struct wlr_drm_backend *drm) { drmModeFreeCrtc(conn->old_crtc); wl_event_source_remove(conn->retry_pageflip); + wl_list_remove(&conn->link); free(conn); } } -- cgit v1.2.3