X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fmain.c;h=74e97d0834e8998451e7b7336c59fa4553f5cbf3;hb=refs%2Ftags%2F9.0.1;hp=71a99eaf99d4adc153aeef3e07ed6609fdf96005;hpb=aa4ba5d283d641da25722af7a966c31d61a9686b;p=src%2Fagl-compositor.git diff --git a/src/main.c b/src/main.c index 71a99ea..74e97d0 100644 --- a/src/main.c +++ b/src/main.c @@ -114,15 +114,6 @@ ivi_ensure_output(struct ivi_compositor *ivi, char *name, return output; } -static void -ivi_output_destroy(struct ivi_output *output) -{ - weston_output_destroy(output->output); - free(output->name); - wl_list_remove(&output->link); - free(output); -} - static int count_heads(struct weston_output *output) { @@ -421,7 +412,6 @@ head_disable(struct ivi_compositor *ivi, struct weston_head *head) weston_head_detach(head); if (count_heads(ivi_output->output) == 0) { - ivi_output_destroy(ivi_output); weston_output_disable(ivi_output->output); } } @@ -865,7 +855,7 @@ activate_binding(struct weston_seat *seat, struct ivi_surface *surface; surface = to_ivi_surface(main_surface); - if (!surface || surface->role != IVI_SURFACE_ROLE_DESKTOP) + if (!surface) return; weston_seat_set_keyboard_focus(seat, focus); @@ -938,14 +928,6 @@ static bool global_filter(const struct wl_client *client, const struct wl_global *global, void *data) { -#if 0 - struct ivi_compositor *ivi = data; - const struct wl_interface *iface = wl_global_get_interface(global); - - if (iface == &agl_shell_interface) - return client == ivi->shell_client.client; -#endif - return true; } @@ -1106,10 +1088,24 @@ usage(int error_code) exit(error_code); } +static void +ivi_compositor_get_quirks(struct ivi_compositor *ivi) +{ + struct weston_config_section *section; + + if (!ivi->config) + return; + + section = weston_config_get_section(ivi->config, "shell", NULL, NULL); + weston_config_section_get_bool(section, "activate-by-default", + &ivi->quirks.activate_apps_by_default, 0); + +} + int main(int argc, char *argv[]) { struct ivi_compositor ivi = { 0 }; - struct wl_display *display; + struct wl_display *display = NULL; struct wl_event_loop *loop; struct wl_event_source *signals[3] = { 0 }; struct weston_config_section *section; @@ -1136,7 +1132,6 @@ int main(int argc, char *argv[]) wl_list_init(&ivi.outputs); wl_list_init(&ivi.surfaces); - wl_list_init(&ivi.shell_clients); wl_list_init(&ivi.pending_surfaces); /* Prevent any clients we spawn getting our stdin */ @@ -1165,6 +1160,8 @@ int main(int argc, char *argv[]) backend = choose_default_backend(); } + ivi_compositor_get_quirks(&ivi); + display = wl_display_create(); loop = wl_display_get_event_loop(display); @@ -1184,25 +1181,12 @@ int main(int argc, char *argv[]) if (!signals[i]) goto error_signals; -#if 0 - log_ctx = weston_log_ctx_compositor_create(); - if (!log_ctx) { - weston_log("Failed to initialize weston debug framework.\n"); - goto error_signals; - } -#endif - ivi.compositor = weston_compositor_create(display, &ivi); if (!ivi.compositor) { weston_log("fatal: failed to create compositor.\n"); goto error_signals; } -#if 0 - if (debug_protocol) - weston_compositor_enable_debug_protocol(ivi.compositor); -#endif - if (compositor_init_config(ivi.compositor, ivi.config) < 0) goto error_compositor; @@ -1225,6 +1209,8 @@ int main(int argc, char *argv[]) weston_compositor_flush_heads_changed(ivi.compositor); + ivi_shell_init_black_fs(&ivi); + if (create_listening_socket(display, socket_name) < 0) goto error_compositor; @@ -1234,6 +1220,7 @@ int main(int argc, char *argv[]) ivi_shell_create_global(&ivi); ivi_launch_shell_client(&ivi); + ivi_agl_systemd_notify(&ivi); wl_display_run(display);