From: Walter Lozano Date: Thu, 8 Oct 2020 17:07:55 +0000 (-0300) Subject: shell: Avoid advertising applications without app_id set X-Git-Tag: 10.91.0~19 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=abe3abc327b7d770b81f976d79f12112010e6a4e;p=src%2Fagl-compositor.git shell: Avoid advertising applications without app_id set When using GTK-3 to create apps, the framework issues set_parent_id which forces a surface to be added even before the app_id is set. This causes the compositor to try to advertise an invalid app_id. This patch avoids advertising an app which has no app_id set. Signed-off-by: Walter Lozano Change-Id: Iadcea106e6464b41171a2aa92aa0eed3a8e2ff2d --- diff --git a/src/shell.c b/src/shell.c index c884f16..94fdb66 100644 --- a/src/shell.c +++ b/src/shell.c @@ -55,6 +55,10 @@ agl_shell_desktop_advertise_application_id(struct ivi_compositor *ivi, wl_list_for_each(dclient, &ivi->desktop_clients, link) { const char *app_id = weston_desktop_surface_get_app_id(surface->dsurface); + if (app_id == NULL) { + weston_log("WARNING app_is is null, unable to advertise\n"); + return; + } agl_shell_desktop_send_application(dclient->resource, app_id); } } @@ -442,6 +446,10 @@ ivi_shell_advertise_xdg_surfaces(struct ivi_compositor *ivi, struct wl_resource wl_list_for_each(surface, &ivi->surfaces, link) { const char *app_id = weston_desktop_surface_get_app_id(surface->dsurface); + if (app_id == NULL) { + weston_log("WARNING app_is is null, unable to advertise\n"); + return; + } agl_shell_desktop_send_application(resource, app_id); } } @@ -807,6 +815,9 @@ shell_advertise_app_state(struct ivi_compositor *ivi, const char *app_id, if (!surf) return; + if (!app_id) + return; + if (policy && policy->api.surface_advertise_state_change && !policy->api.surface_advertise_state_change(surf, surf->ivi)) { return;