window: use roundtrip instead of dispatch after get_registry

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@gmail.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
Marek Chalupa 2014-12-05 13:49:40 +01:00 committed by Pekka Paalanen
parent 4c5a6f7a18
commit a519d06a53

View File

@ -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;
}