summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/desktop.c4
-rw-r--r--src/ivi-compositor.h4
-rw-r--r--src/shell.c3
3 files changed, 9 insertions, 2 deletions
diff --git a/src/desktop.c b/src/desktop.c
index 361c5b4..54eac5b 100644
--- a/src/desktop.c
+++ b/src/desktop.c
@@ -211,8 +211,10 @@ desktop_surface_added(struct weston_desktop_surface *dsurface, void *userdata)
app_id = weston_desktop_surface_get_app_id(dsurface);
- if ((active_output = ivi_layout_find_with_app_id(app_id, ivi)))
+ if ((active_output = ivi_layout_find_with_app_id(app_id, ivi))) {
ivi_set_pending_desktop_surface_remote(active_output, app_id);
+ shell_send_app_on_output(ivi, app_id, active_output->output->name);
+ }
/* reset any caps to make sure we apply the new caps */
ivi_seat_reset_caps_sent(ivi);
diff --git a/src/ivi-compositor.h b/src/ivi-compositor.h
index 49d38de..fb5a0fa 100644
--- a/src/ivi-compositor.h
+++ b/src/ivi-compositor.h
@@ -515,4 +515,8 @@ get_default_output(struct weston_compositor *compositor);
struct weston_output *
get_focused_output(struct weston_compositor *compositor);
+void
+shell_send_app_on_output(struct ivi_compositor *ivi, const char *app_id,
+ const char *output_name);
+
#endif
diff --git a/src/shell.c b/src/shell.c
index c18017b..ac20b4f 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -1172,7 +1172,8 @@ void
shell_send_app_on_output(struct ivi_compositor *ivi, const char *app_id,
const char *output_name)
{
- if (app_id && wl_resource_get_version(ivi->shell_client.resource) >=
+ if (app_id && ivi->shell_client.resource &&
+ wl_resource_get_version(ivi->shell_client.resource) >=
AGL_SHELL_APP_ON_OUTPUT_SINCE_VERSION) {
agl_shell_send_app_on_output(ivi->shell_client.resource,