On Fri, 14 Mar 2014 12:16:05 +0800 Quanxian Wang <[email protected]> wrote:
> With protocol of wl_output version 2, after the output change, > it should send done event to all clients bound with it. > > Signed-off-by: Quanxian Wang <[email protected]> > --- > src/compositor.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/src/compositor.c b/src/compositor.c > index 7c29d51..98a4f6f 100644 > --- a/src/compositor.c > +++ b/src/compositor.c > @@ -3245,7 +3245,7 @@ weston_output_move(struct weston_output *output, int x, > int y) > wl_signal_emit(&output->compositor->output_moved_signal, output); > > /* Notify clients of the change for output position. */ > - wl_resource_for_each(resource, &output->resource_list) > + wl_resource_for_each(resource, &output->resource_list) { > wl_output_send_geometry(resource, > output->x, > output->y, > @@ -3255,6 +3255,10 @@ weston_output_move(struct weston_output *output, int > x, int y) > output->make, > output->model, > output->transform); > + > + if (wl_resource_get_version(resource) >= 2) > + wl_output_send_done(resource); > + } > } > > WL_EXPORT void Hi, are you sure all the output state updates have been sent at this point? I did a quick grep, and this seems to be fine. wl_output_send_*() functions are only called from weston_output_switch_mode(), weston_output_move(), and bind_output() which must be ok as is. weston_output_move() is only called from weston_compositor_remove_output(), so it seems very unlikely that switch_mode and output_move could happen as a part of the same output reconfiguration. So, reviewed-by me. Thanks, pq _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
