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 <walter.lozano@collabora.com>
Change-Id: Iadcea106e6464b41171a2aa92aa0eed3a8e2ff2d
wl_list_for_each(dclient, &ivi->desktop_clients, link) {
const char *app_id =
weston_desktop_surface_get_app_id(surface->dsurface);
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);
}
}
agl_shell_desktop_send_application(dclient->resource, app_id);
}
}
wl_list_for_each(surface, &ivi->surfaces, link) {
const char *app_id =
weston_desktop_surface_get_app_id(surface->dsurface);
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);
}
}
agl_shell_desktop_send_application(resource, app_id);
}
}
+ if (!app_id)
+ return;
+
if (policy && policy->api.surface_advertise_state_change &&
!policy->api.surface_advertise_state_change(surf, surf->ivi)) {
return;
if (policy && policy->api.surface_advertise_state_change &&
!policy->api.surface_advertise_state_change(surf, surf->ivi)) {
return;