X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fcompositor.c;h=fd5f5a6f797f8a37a823e947ba8d731714db8fe9;hb=26c37c4140ce5739d646c104f1e378b2c5d8ec27;hp=c8f9e60a82f56fb195053a5f46e0259f689d5ef8;hpb=ba86e440b28d1ade0b264ee4afd789faff56b30c;p=src%2Fagl-compositor.git diff --git a/src/compositor.c b/src/compositor.c index c8f9e60..fd5f5a6 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -39,7 +39,9 @@ #include #include +#ifdef HAVE_BACKEND_HEADLESS #include +#endif #ifdef HAVE_BACKEND_X11 #include #endif @@ -752,6 +754,10 @@ ivi_enable_remote_outputs(struct ivi_compositor *ivi) } ivi_output = zalloc(sizeof(*ivi_output)); + if (!ivi_output) { + free(_name); + continue; + } ivi_output->ivi = ivi; ivi_output->name = _name; @@ -804,6 +810,10 @@ ivi_enable_waltham_outputs(struct ivi_compositor *ivi) } ivi_output = zalloc(sizeof(*ivi_output)); + if (!ivi_output) { + free(_name); + continue; + } ivi_output->ivi = ivi; ivi_output->name = _name; @@ -1087,6 +1097,7 @@ load_x11_backend(struct ivi_compositor *ivi, int *argc, char *argv[]) } #endif +#ifdef HAVE_BACKEND_HEADLESS static int load_headless_backend(struct ivi_compositor *ivi, int *argc, char **argv) { @@ -1134,6 +1145,13 @@ load_headless_backend(struct ivi_compositor *ivi, int *argc, char **argv) return 0; } +#else +static int +load_headless_backend(struct ivi_compositor *ivi, int *argc, char **argv) +{ + return -1; +} +#endif static int load_backend(struct ivi_compositor *ivi, const char *backend, @@ -1750,6 +1768,11 @@ int wet_main(int argc, char *argv[]) wl_display_destroy_clients(display); error_compositor: + free(backend); + backend = NULL; + free(modules); + modules = NULL; + weston_compositor_tear_down(ivi.compositor); weston_compositor_log_scope_destroy(log_scope);