diff --git a/include/libweston/libweston.h b/include/libweston/libweston.h index c120f09f..e8de1d3d 100644 --- a/include/libweston/libweston.h +++ b/include/libweston/libweston.h @@ -1366,6 +1366,7 @@ struct weston_renderer; */ struct weston_compositor { struct wl_signal destroy_signal; + bool shutting_down; struct wl_display *wl_display; struct weston_desktop_xwayland *xwayland; diff --git a/libweston/compositor.c b/libweston/compositor.c index b70878b9..aa22fb58 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -8638,6 +8638,8 @@ weston_compositor_shutdown(struct weston_compositor *ec) { struct weston_output *output, *next; + ec->shutting_down = true; + wl_event_source_remove(ec->idle_source); wl_event_source_remove(ec->repaint_timer);