shell: Store the ivi compositor in the desktop_client
[src/agl-compositor.git] / src / main.c
index e1ebab5..df97b24 100644 (file)
@@ -24,6 +24,7 @@
  */
 
 #include "ivi-compositor.h"
+#include "policy.h"
 
 #include <assert.h>
 #include <errno.h>
@@ -47,6 +48,7 @@
 #include <libweston/weston-log.h>
 
 #include "shared/os-compatibility.h"
+#include "shared/helpers.h"
 
 #include "agl-shell-server-protocol.h"
 
@@ -539,7 +541,7 @@ load_drm_backend(struct ivi_compositor *ivi, int *argc, char *argv[])
        struct weston_config_section *section;
        int use_current_mode = 0;
        int use_pixman = 0;
-       int use_shadow;
+       bool use_shadow;
        int ret;
 
        const struct weston_option options[] = {
@@ -585,7 +587,7 @@ windowed_parse_common_options(struct ivi_compositor *ivi, int *argc, char *argv[
                              bool *use_pixman, bool *fullscreen, int *output_count)
 {
        struct weston_config_section *section;
-       int pixman;
+       bool pixman;
        int fs = 0;
 
        const struct weston_option options[] = {
@@ -796,8 +798,8 @@ compositor_init_config(struct weston_compositor *compositor,
        struct xkb_rule_names xkb_names;
        struct weston_config_section *section;
        int repaint_msec;
-       int vt_switching;
-       int require_input;
+       bool vt_switching;
+       bool require_input;
 
        /* agl-compositor.ini [keyboard] */
        section = weston_config_get_section(config, "keyboard", NULL, NULL);
@@ -1145,6 +1147,8 @@ int main(int argc, char *argv[])
        wl_list_init(&ivi.outputs);
        wl_list_init(&ivi.surfaces);
        wl_list_init(&ivi.pending_surfaces);
+       wl_list_init(&ivi.popup_pending_apps);
+       wl_list_init(&ivi.desktop_clients);
 
        /* Prevent any clients we spawn getting our stdin */
        os_fd_set_cloexec(STDIN_FILENO);
@@ -1167,7 +1171,7 @@ int main(int argc, char *argv[])
 
         log_scope = weston_compositor_add_log_scope(log_ctx, "log",
                                                    "agl-compositor log\n",
-                                                   NULL, NULL);
+                                                   NULL, NULL, NULL);
 
        log_file_open(log);
        weston_log_set_handler(vlog, vlog_continue);
@@ -1226,6 +1230,9 @@ int main(int argc, char *argv[])
        if (ivi_desktop_init(&ivi) < 0)
                goto error_compositor;
 
+       if (ivi_policy_init(&ivi) < 0)
+               goto error_compositor;
+
        if (ivi_shell_init(&ivi) < 0)
                goto error_compositor;
 
@@ -1261,6 +1268,8 @@ error_compositor:
 
        weston_log_subscriber_destroy_log(logger);
 
+       ivi_policy_destroy(ivi.policy);
+
 error_signals:
        for (size_t i = 0; i < ARRAY_LENGTH(signals); ++i)
                if (signals[i])