[PATCH weston 1/3] window: use roundtrip instead of dispatch after get_registry

Pekka Paalanen ppaalanen at gmail.com
Fri Dec 12 04:24:37 PST 2014


On Fri,  5 Dec 2014 13:49:40 +0100
Marek Chalupa <mchqwerty at gmail.com> wrote:

> wl_display_dispatch() just dispatches events that are in
> default and display queues and if there are no events,
> then it will wait for them. But only dispatching
> the events doesn't guarantee that we got all the global announcements,
> we need to do sync too. Therefore use wl_display_roundtrip() instead
> of wl_display_dispatch().
> 
> Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
> ---
>  clients/window.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/clients/window.c b/clients/window.c
> index cc1e272..c5082ba 100644
> --- a/clients/window.c
> +++ b/clients/window.c
> @@ -5527,7 +5527,7 @@ display_create(int *argc, char *argv[])
>  	d->registry = wl_display_get_registry(d->display);
>  	wl_registry_add_listener(d->registry, &registry_listener, d);
>  
> -	if (wl_display_dispatch(d->display) < 0) {
> +	if (wl_display_roundtrip(d->display) < 0) {
>  		fprintf(stderr, "Failed to process Wayland connection: %m\n");
>  		return NULL;
>  	}

Very true, pushed.

I tried to look quickly, but I couldn't see it; the globals that send
initial events on bind, like wl_shm.format - do we have the 2nd
roundtrip for those somewhere?


Thanks,
pq


More information about the wayland-devel mailing list