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 <pekka.paalanen@collabora.co.uk>
Reviewed-by: Ian Ray <ian.ray@ge.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Acked-by: Derek Foreman <derekf@osg.samsung.com>
dev
Pekka Paalanen 7 years ago
parent e868c3fc15
commit 8a8dcac431
  1. 2
      compositor/main.c
  2. 21
      libweston/compositor.c
  3. 3
      libweston/compositor.h

@ -1943,7 +1943,7 @@ int main(int argc, char *argv[])
goto out; goto out;
} }
weston_pending_output_coldplug(ec); weston_compositor_flush_heads_changed(ec);
if (user_data.init_failed) if (user_data.init_failed)
goto out; goto out;

@ -5470,9 +5470,6 @@ weston_output_init(struct weston_output *output,
* \param output The weston_output object to add * \param output The weston_output object to add
* \param compositor The compositor instance. * \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(). * The opposite of this operation is built into weston_output_release().
* *
* \memberof weston_output * \memberof weston_output
@ -5487,7 +5484,6 @@ weston_compositor_add_pending_output(struct weston_output *output,
wl_list_remove(&output->link); wl_list_remove(&output->link);
wl_list_insert(compositor->pending_output_list.prev, &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. /** 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; 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 * \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 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) { if (compositor->heads_changed_source) {
wl_event_source_remove(compositor->heads_changed_source); wl_event_source_remove(compositor->heads_changed_source);
weston_compositor_call_heads_changed(compositor); 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->hide_input_panel_signal);
wl_signal_init(&ec->update_input_panel_signal); wl_signal_init(&ec->update_input_panel_signal);
wl_signal_init(&ec->seat_created_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_created_signal);
wl_signal_init(&ec->output_destroyed_signal); wl_signal_init(&ec->output_destroyed_signal);
wl_signal_init(&ec->output_moved_signal); wl_signal_init(&ec->output_moved_signal);

@ -955,7 +955,6 @@ struct weston_compositor {
struct wl_signal update_input_panel_signal; struct wl_signal update_input_panel_signal;
struct wl_signal seat_created_signal; struct wl_signal seat_created_signal;
struct wl_signal output_pending_signal;
struct wl_signal output_created_signal; struct wl_signal output_created_signal;
struct wl_signal output_destroyed_signal; struct wl_signal output_destroyed_signal;
struct wl_signal output_moved_signal; struct wl_signal output_moved_signal;
@ -2115,7 +2114,7 @@ void
weston_output_disable(struct weston_output *output); weston_output_disable(struct weston_output *output);
void void
weston_pending_output_coldplug(struct weston_compositor *compositor); weston_compositor_flush_heads_changed(struct weston_compositor *compositor);
struct weston_head * struct weston_head *
weston_head_from_resource(struct wl_resource *resource); weston_head_from_resource(struct wl_resource *resource);

Loading…
Cancel
Save