layout: Check app_id for remote type of surfaces
[src/agl-compositor.git] / src / main.c
index e0a9d79..e85d788 100644 (file)
@@ -102,6 +102,9 @@ ivi_output_configure_app_id(struct ivi_output *ivi_output)
                                                 &ivi_output->app_id,
                                                 NULL);
 
+               if (ivi_output->app_id == NULL)
+                       return;
+
                weston_log("Will place app_id %s on output %s\n",
                                ivi_output->app_id, ivi_output->name);
        }
@@ -1343,7 +1346,7 @@ usage(int error_code)
                "  --log=FILE\t\tLog to the given file\n"
                "  -c, --config=FILE\tConfig file to load, defaults to agl-compositor.ini\n"
                "  --no-config\t\tDo not read agl-compositor.ini\n"
-               "  --debug\t\tEnable debug extension\n"
+               "  --debug\t\tEnable debug extension(s)\n"
                "  -h, --help\t\tThis help message\n"
                "\n");
        exit(error_code);
@@ -1363,6 +1366,7 @@ int main(int argc, char *argv[])
        int help = 0;
        int version = 0;
        int no_config = 0;
+       int debug = 0;
        char *config_file = NULL;
        struct weston_log_context *log_ctx = NULL;
        struct weston_log_subscriber *logger;
@@ -1375,6 +1379,7 @@ int main(int argc, char *argv[])
                { WESTON_OPTION_BOOLEAN, "help", 'h', &help },
                { WESTON_OPTION_BOOLEAN, "version", 0, &version },
                { WESTON_OPTION_BOOLEAN, "no-config", 0, &no_config },
+               { WESTON_OPTION_BOOLEAN, "debug", 0, &debug },
                { WESTON_OPTION_STRING, "config", 'c', &config_file },
        };
 
@@ -1425,6 +1430,8 @@ int main(int argc, char *argv[])
                if (!backend)
                        backend = choose_default_backend();
        }
+       /* from [core] */
+       weston_config_section_get_bool(section, "hide-cursor", &ivi.hide_cursor, false);
 
        display = wl_display_create();
        loop = wl_display_get_event_loop(display);
@@ -1466,6 +1473,8 @@ int main(int argc, char *argv[])
        if (ivi_desktop_init(&ivi) < 0)
                goto error_compositor;
 
+       ivi_seat_init(&ivi);
+
        if (ivi_policy_init(&ivi) < 0)
                goto error_compositor;
 
@@ -1479,17 +1488,19 @@ int main(int argc, char *argv[])
        if (ivi.remoting_api)
                ivi_enable_remote_outputs(&ivi);
 
-       ivi_shell_init_black_fs(&ivi);
-
        if (create_listening_socket(display, socket_name) < 0)
                goto error_compositor;
 
+       ivi_shell_init_black_fs(&ivi);
+
        ivi.compositor->exit = handle_exit;
 
        weston_compositor_wake(ivi.compositor);
 
        ivi_shell_create_global(&ivi);
        ivi_launch_shell_client(&ivi);
+       if (debug)
+               ivi_screenshooter_create(&ivi);
        ivi_agl_systemd_notify(&ivi);
 
        wl_display_run(display);