From 3a2f829983801d2273277c8b6021cd0543d0e26e Mon Sep 17 00:00:00 2001 From: Marius Vlad Date: Mon, 4 Nov 2019 17:53:46 +0200 Subject: [PATCH] libweston: Init weston_output's 'destroy_signal' before timeline has a chance to emit a timeline subscription When subscribing over the command line to the 'timeline' scope we hit the situation where we could emit a timeline message but without the weston_output object being (fully) enabled. The timeline subscription object requires to install its own callback on the 'destroy_signal' but at that time, the 'destroy_signal' is not initialized. This moves 'destroy_signal' initialization before timeline has a chance to emit a timeline subscription message for that weston_output. While at it, move also 'frame_signal' initialization before any function call to keep them nicely organized. Signed-off-by: Marius Vlad --- libweston/compositor.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libweston/compositor.c b/libweston/compositor.c index 26a62c7ec..6336c5898 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -6225,14 +6225,15 @@ weston_output_enable(struct weston_output *output) output->dirty = 1; output->original_scale = output->scale; + wl_signal_init(&output->frame_signal); + wl_signal_init(&output->destroy_signal); + weston_output_transform_scale_init(output, output->transform, output->scale); weston_output_init_zoom(output); weston_output_init_geometry(output, x, y); weston_output_damage(output); - wl_signal_init(&output->frame_signal); - wl_signal_init(&output->destroy_signal); wl_list_init(&output->animation_list); wl_list_init(&output->feedback_list);