[PATCH weston 2/2] compositor: remove input_loop
Pekka Paalanen
ppaalanen at gmail.com
Thu Mar 24 15:10:19 UTC 2016
From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Remove the input event loop.
After "compositor-x11: stop using input_loop", the input event loop is
completely unused.
The code was also broken because it did not account for multiple outputs
with independent repaint cycles.
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
---
src/compositor.c | 36 ------------------------------------
src/compositor.h | 3 ---
2 files changed, 39 deletions(-)
diff --git a/src/compositor.c b/src/compositor.c
index d8f3e34..5500197 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2383,7 +2383,6 @@ weston_output_repaint(struct weston_output *output)
output->repaint_needed = 0;
weston_compositor_repick(ec);
- wl_event_loop_dispatch(ec->input_loop, 0);
wl_list_for_each_safe(cb, cnext, &frame_callback_list, link) {
wl_callback_send_done(cb->resource, output->frame_time);
@@ -2400,34 +2399,11 @@ weston_output_repaint(struct weston_output *output)
return r;
}
-static int
-weston_compositor_read_input(int fd, uint32_t mask, void *data)
-{
- struct weston_compositor *compositor = data;
-
- wl_event_loop_dispatch(compositor->input_loop, 0);
-
- return 1;
-}
-
static void
weston_output_schedule_repaint_reset(struct weston_output *output)
{
- struct weston_compositor *compositor = output->compositor;
- struct wl_event_loop *loop;
- int fd;
-
output->repaint_scheduled = 0;
TL_POINT("core_repaint_exit_loop", TLP_OUTPUT(output), TLP_END);
-
- if (compositor->input_loop_source)
- return;
-
- loop = wl_display_get_event_loop(compositor->wl_display);
- fd = wl_event_loop_get_fd(compositor->input_loop);
- compositor->input_loop_source =
- wl_event_loop_add_fd(loop, fd, WL_EVENT_READABLE,
- weston_compositor_read_input, compositor);
}
static int
@@ -2576,12 +2552,6 @@ weston_output_schedule_repaint(struct weston_output *output)
wl_event_loop_add_idle(loop, idle_repaint, output);
output->repaint_scheduled = 1;
TL_POINT("core_repaint_enter_loop", TLP_OUTPUT(output), TLP_END);
-
-
- if (compositor->input_loop_source) {
- wl_event_source_remove(compositor->input_loop_source);
- compositor->input_loop_source = NULL;
- }
}
WL_EXPORT void
@@ -4780,8 +4750,6 @@ weston_compositor_create(struct wl_display *display, void *user_data)
loop = wl_display_get_event_loop(ec->wl_display);
ec->idle_source = wl_event_loop_add_timer(loop, idle_handler, ec);
- ec->input_loop = wl_event_loop_create();
-
weston_layer_init(&ec->fade_layer, &ec->layer_list);
weston_layer_init(&ec->cursor_layer, &ec->fade_layer.link);
@@ -4801,8 +4769,6 @@ weston_compositor_shutdown(struct weston_compositor *ec)
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);
/* Destroy all outputs associated with this compositor */
wl_list_for_each_safe(output, next, &ec->output_list, link)
@@ -4819,8 +4785,6 @@ weston_compositor_shutdown(struct weston_compositor *ec)
weston_binding_list_destroy_all(&ec->debug_binding_list);
weston_plane_release(&ec->primary_plane);
-
- wl_event_loop_destroy(ec->input_loop);
}
WL_EXPORT void
diff --git a/src/compositor.h b/src/compositor.h
index 08b4059..0ba00be 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -726,9 +726,6 @@ struct weston_compositor {
struct wl_signal output_destroyed_signal;
struct wl_signal output_moved_signal;
- struct wl_event_loop *input_loop;
- struct wl_event_source *input_loop_source;
-
struct wl_signal session_signal;
int session_active;
--
2.7.3
More information about the wayland-devel
mailing list