Properly dispose event sources and event loops
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
diff --git a/src/compositor.c b/src/compositor.c
index 47305cc..f9e1f23 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2415,6 +2415,8 @@
struct weston_output *output, *next;
wl_event_source_remove(ec->idle_source);
+ if (ec->input_loop_source)
+ wl_event_source_remove(ec->input_loop_source);
if (ec->screenshooter)
screenshooter_destroy(ec->screenshooter);
@@ -2427,6 +2429,8 @@
wl_array_release(&ec->vertices);
wl_array_release(&ec->indices);
+
+ wl_event_loop_destroy(ec->input_loop);
}
static int on_term_signal(int signal_number, void *data)