X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Flayout.c;h=89c2097f99dcdcd4ff854b9aabeebe0a45912fb5;hb=refs%2Fheads%2Fpike;hp=ea293cadeb9d829237b8bbed00b2a9fe4ce29de0;hpb=0fef26d32431e7bea6413f886e79cd2c1d88eb7c;p=src%2Fagl-compositor.git diff --git a/src/layout.c b/src/layout.c index ea293ca..89c2097 100644 --- a/src/layout.c +++ b/src/layout.c @@ -30,6 +30,7 @@ #include #include +#include #include #include @@ -155,6 +156,29 @@ void ivi_layout_init(struct ivi_compositor *ivi, struct ivi_output *output) { bool use_default_area = true; + struct weston_config_section *section = output->config; + char *t; + + weston_config_section_get_string(section, "activation-area", &t, NULL); + if (t) { + if (output->area_activation.width == 0 && + output->area_activation.height == 0 && + output->area_activation.x == 0 && + output->area_activation.y == 0) { + weston_log("WARNING: activation-area set in " + "configuration file, but yet applied!\n"); + if (parse_activation_area(t, output) < 0) + weston_log("Invalid activation-area \"%s\" for output %s\n", + t, output->name); + } else { + weston_log("WARNING: activation-area detected in ini file, " + "but agl_shell override detected!\n"); + if (parse_activation_area(t, output) < 0) + weston_log("Invalid activation-area \"%s\" for output %s\n", + t, output->name); + } + } + free(t); ivi_background_init(ivi, output); @@ -557,7 +581,7 @@ ivi_layout_desktop_committed(struct ivi_surface *surf) return; } - if (!surf->ivi->activate_by_default) { + if (!surf->ivi->activate_by_default && !surf->xwayland.is_set) { weston_log("Refusing to activate surface role %d, app_id %s\n", surf->role, app_id); @@ -587,7 +611,12 @@ ivi_layout_desktop_committed(struct ivi_surface *surf) */ weston_log("Surface no app_id, role %s activating by default\n", ivi_layout_get_surface_role_name(surf)); - ivi_layout_activate_by_surf(r_output, surf); + if (surf->xwayland.is_set) { + ivi_layout_activate_by_surf(r_output, surf); + ivi_layout_activate_complete(r_output, surf); + } else { + ivi_layout_activate_by_surf(r_output, surf); + } } }