Code Review
/
src
/
agl-compositor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
layout: Do not attempt to activate surfaces that doesn't have a valid app_id
[src/agl-compositor.git]
/
src
/
shell.c
diff --git
a/src/shell.c
b/src/shell.c
index
941257a
..
5a8cc42
100644
(file)
--- a/
src/shell.c
+++ b/
src/shell.c
@@
-54,6
+54,7
@@
agl_shell_desktop_advertise_application_id(struct ivi_compositor *ivi,
struct ivi_surface *surface)
{
struct desktop_client *dclient;
struct ivi_surface *surface)
{
struct desktop_client *dclient;
+ static bool display_adv = false;
if (surface->advertised_on_launch)
return;
if (surface->advertised_on_launch)
return;
@@
-63,7
+64,10
@@
agl_shell_desktop_advertise_application_id(struct ivi_compositor *ivi,
const char *app_id =
weston_desktop_surface_get_app_id(surface->dsurface);
if (app_id == NULL) {
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");
+ if (!display_adv) {
+ weston_log("WARNING app_is is null, unable to advertise\n");
+ display_adv = true;
+ }
return;
}
agl_shell_desktop_send_application(dclient->resource, app_id);
return;
}
agl_shell_desktop_send_application(dclient->resource, app_id);
@@
-107,6
+111,7
@@
ivi_set_desktop_surface_fullscreen(struct ivi_surface *surface)
agl_shell_desktop_advertise_application_id(ivi, surface);
}
agl_shell_desktop_advertise_application_id(ivi, surface);
}
+#ifdef HAVE_WALTHAM
void
ivi_destroy_waltham_destroy(struct ivi_surface *surface)
{
void
ivi_destroy_waltham_destroy(struct ivi_surface *surface)
{
@@
-177,6
+182,17
@@
ivi_output_notify_waltham_plugin(struct ivi_surface *surface)
api->surface_push_to_remote(weston_surface, app_id, trans_remote, NULL);
}
api->surface_push_to_remote(weston_surface, app_id, trans_remote, NULL);
}
+#else
+void
+ivi_destroy_waltham_destroy(struct ivi_surface *surface)
+{
+}
+static void
+ivi_output_notify_waltham_plugin(struct ivi_surface *surface)
+{
+}
+#endif
+
static void
ivi_set_desktop_surface_remote(struct ivi_surface *surface)
{
static void
ivi_set_desktop_surface_remote(struct ivi_surface *surface)
{
@@
-746,6
+762,7
@@
shell_ready(struct wl_client *client, struct wl_resource *shell_res)
wl_list_for_each_safe(surface, tmp, &ivi->pending_surfaces, link) {
wl_list_remove(&surface->link);
wl_list_for_each_safe(surface, tmp, &ivi->pending_surfaces, link) {
wl_list_remove(&surface->link);
+ wl_list_init(&surface->link);
ivi_check_pending_desktop_surface(surface);
surface->checked_pending = true;
}
ivi_check_pending_desktop_surface(surface);
surface->checked_pending = true;
}