From 8a8dcac4316049cf630483894466d3c057205676 Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Thu, 17 Aug 2017 17:29:36 +0300 Subject: [PATCH] libweston: remove output_pending_signal The signal has been replaced with the heads_changed hook and is no longer useful. weston_pending_output_coldplug() is renamed to weston_compositor_flush_heads_changed() for two reasons: it better describes what it does now, and it serves as an obvious flag that libweston ABI has been broken. Signed-off-by: Pekka Paalanen Reviewed-by: Ian Ray Reviewed-by: Daniel Stone Acked-by: Derek Foreman --- compositor/main.c | 2 +- libweston/compositor.c | 21 +++++---------------- libweston/compositor.h | 3 +-- 3 files changed, 7 insertions(+), 19 deletions(-) diff --git a/compositor/main.c b/compositor/main.c index 372de49d..f72d3ea1 100644 --- a/compositor/main.c +++ b/compositor/main.c @@ -1943,7 +1943,7 @@ int main(int argc, char *argv[]) goto out; } - weston_pending_output_coldplug(ec); + weston_compositor_flush_heads_changed(ec); if (user_data.init_failed) goto out; diff --git a/libweston/compositor.c b/libweston/compositor.c index 919a84a1..d013273c 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -5470,9 +5470,6 @@ weston_output_init(struct weston_output *output, * \param output The weston_output object to add * \param compositor The compositor instance. * - * Also notifies the compositor that an output is pending for - * configuration. - * * The opposite of this operation is built into weston_output_release(). * * \memberof weston_output @@ -5487,7 +5484,6 @@ weston_compositor_add_pending_output(struct weston_output *output, wl_list_remove(&output->link); wl_list_insert(compositor->pending_output_list.prev, &output->link); - wl_signal_emit(&compositor->output_pending_signal, output); } /** Constructs a weston_output object that can be used by the compositor. @@ -5634,22 +5630,16 @@ weston_output_disable(struct weston_output *output) output->destroying = 0; } -/** Emits a signal to indicate that there are outputs waiting to be configured. +/** Forces a synchronous call to heads_changed hook * * \param compositor The compositor instance + * + * If there are new or changed heads, calls the heads_changed hook and + * returns after the hook returns. */ WL_EXPORT void -weston_pending_output_coldplug(struct weston_compositor *compositor) +weston_compositor_flush_heads_changed(struct weston_compositor *compositor) { - struct weston_output *output, *next; - - wl_list_for_each_safe(output, next, &compositor->pending_output_list, link) - wl_signal_emit(&compositor->output_pending_signal, output); - - /* Execute the heads changed callback manually to ensure it is - * processed before any plugins get their start-up idle tasks ran. - * This ensures the plugins see all the initial outputs. - */ if (compositor->heads_changed_source) { wl_event_source_remove(compositor->heads_changed_source); weston_compositor_call_heads_changed(compositor); @@ -6118,7 +6108,6 @@ weston_compositor_create(struct wl_display *display, void *user_data) wl_signal_init(&ec->hide_input_panel_signal); wl_signal_init(&ec->update_input_panel_signal); wl_signal_init(&ec->seat_created_signal); - wl_signal_init(&ec->output_pending_signal); wl_signal_init(&ec->output_created_signal); wl_signal_init(&ec->output_destroyed_signal); wl_signal_init(&ec->output_moved_signal); diff --git a/libweston/compositor.h b/libweston/compositor.h index 3e113c47..5ee7fdfd 100644 --- a/libweston/compositor.h +++ b/libweston/compositor.h @@ -955,7 +955,6 @@ struct weston_compositor { struct wl_signal update_input_panel_signal; struct wl_signal seat_created_signal; - struct wl_signal output_pending_signal; struct wl_signal output_created_signal; struct wl_signal output_destroyed_signal; struct wl_signal output_moved_signal; @@ -2115,7 +2114,7 @@ void weston_output_disable(struct weston_output *output); void -weston_pending_output_coldplug(struct weston_compositor *compositor); +weston_compositor_flush_heads_changed(struct weston_compositor *compositor); struct weston_head * weston_head_from_resource(struct wl_resource *resource);