X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Flayout.c;h=dd4abb5d95b0e061e25213a169cd6baebd266424;hb=89f67c5cf793bc69c7e5d5008829851069daa330;hp=829e1d57fa3c4a92777a2908a80204cf27b41ca4;hpb=7a7b46bd7040b2814ad5f314818742bad990e93c;p=src%2Fagl-compositor.git diff --git a/src/layout.c b/src/layout.c index 829e1d5..dd4abb5 100644 --- a/src/layout.c +++ b/src/layout.c @@ -192,6 +192,8 @@ ivi_layout_activate_complete(struct ivi_output *output, struct ivi_compositor *ivi = output->ivi; struct weston_output *woutput = output->output; struct weston_view *view = surf->view; + struct weston_seat *wseat = get_ivi_shell_weston_first_seat(ivi); + struct ivi_shell_seat *ivi_seat = get_ivi_shell_seat(wseat); if (weston_view_is_mapped(view)) { weston_layer_entry_remove(&view->layer_link); @@ -221,6 +223,9 @@ ivi_layout_activate_complete(struct ivi_output *output, weston_view_geometry_dirty(view); weston_surface_damage(view->surface); + if (ivi_seat) + ivi_shell_activate_surface(surf, ivi_seat, WESTON_ACTIVATE_FLAG_NONE); + /* * the 'remote' role now makes use of this part so make sure we don't * trip the enum such that we might end up with a modified output for @@ -408,6 +413,9 @@ ivi_layout_fullscreen_committed(struct ivi_surface *surface) struct weston_geometry geom = weston_desktop_surface_get_geometry(dsurface); + struct weston_seat *wseat = get_ivi_shell_weston_first_seat(ivi); + struct ivi_shell_seat *ivi_seat = get_ivi_shell_seat(wseat); + bool is_fullscreen = weston_desktop_surface_get_fullscreen(dsurface); bool is_dim_same = geom.width == bg_output->output->width && @@ -470,6 +478,9 @@ ivi_layout_fullscreen_committed(struct ivi_surface *surface) weston_view_geometry_dirty(view); weston_surface_damage(view->surface); + if (ivi_seat) + ivi_shell_activate_surface(surface, ivi_seat, WESTON_ACTIVATE_FLAG_NONE); + shell_advertise_app_state(ivi, app_id, NULL, AGL_SHELL_DESKTOP_APP_STATE_ACTIVATED); @@ -516,6 +527,9 @@ ivi_layout_split_committed(struct ivi_surface *surface) struct ivi_output *output = surface->split.output; struct weston_output *woutput = output->output; + struct weston_seat *wseat = get_ivi_shell_weston_first_seat(ivi); + struct ivi_shell_seat *ivi_seat = get_ivi_shell_seat(wseat); + struct weston_view *view = surface->view; struct weston_geometry geom; @@ -586,6 +600,9 @@ ivi_layout_split_committed(struct ivi_surface *surface) weston_view_geometry_dirty(view); weston_surface_damage(view->surface); + if (ivi_seat) + ivi_shell_activate_surface(surface, ivi_seat, WESTON_ACTIVATE_FLAG_NONE); + wsurface->is_mapped = true; surface->view->is_mapped = true; @@ -621,6 +638,9 @@ ivi_layout_popup_committed(struct ivi_surface *surface) struct ivi_output *output = surface->popup.output; struct weston_output *woutput = output->output; + struct weston_seat *wseat = get_ivi_shell_weston_first_seat(ivi); + struct ivi_shell_seat *ivi_seat = get_ivi_shell_seat(wseat); + struct weston_view *view = surface->view; if (policy && policy->api.surface_activate_by_default && @@ -651,6 +671,9 @@ ivi_layout_popup_committed(struct ivi_surface *surface) weston_view_geometry_dirty(view); weston_surface_damage(view->surface); + if (ivi_seat) + ivi_shell_activate_surface(surface, ivi_seat, WESTON_ACTIVATE_FLAG_NONE); + wsurface->is_mapped = true; surface->view->is_mapped = true;