X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=grpc-proxy%2Fmain-grpc.cpp;h=5569fc8a9f0d643904f5cfcf00f08427d5b5d98a;hb=refs%2Fchanges%2F17%2F29317%2F3;hp=b2eca846c7bbd0700cb2705f4d1aeccbbc8696d4;hpb=ca537df2c52990acf97fb1c42ec2d993c60eae2d;p=src%2Fagl-compositor.git diff --git a/grpc-proxy/main-grpc.cpp b/grpc-proxy/main-grpc.cpp index b2eca84..5569fc8 100644 --- a/grpc-proxy/main-grpc.cpp +++ b/grpc-proxy/main-grpc.cpp @@ -386,6 +386,10 @@ __register_shell_init(void) struct shell_data_init *sh = new struct shell_data_init; wl_display = wl_display_connect(NULL); + if (!wl_display) { + ret = -1; + goto err_failed_display; + } registry = wl_display_get_registry(wl_display); sh->wait_for_bound = true; sh->bound_fail = false; @@ -413,6 +417,8 @@ __register_shell_init(void) err: wl_registry_destroy(registry); wl_display_disconnect(wl_display); + +err_failed_display: delete sh; return ret; } @@ -480,6 +486,10 @@ start_agl_shell_client(void) struct shell_data *sh = new struct shell_data; + if (!wl_display) { + goto err; + } + sh->wl_display = wl_display; sh->wait_for_doas = true; sh->wait_for_bound = true; @@ -578,6 +588,7 @@ int main(int argc, char **argv) ret = wl_display_dispatch(sh->wl_display); } + thread.join(); destroy_shell_data(sh); return 0; }